----------------------------">
当前位置:Gxlcms > PHP教程 > php的rename函数用不了,该怎么解决

php的rename函数用不了,该怎么解决

时间:2021-07-01 10:21:17 帮助过:18人阅读

php的rename函数用不了
//保存为UseFile5_for_rename.php

$filepath="C:/Users/Administrator/Desktop/新建文件夹/";
$readarray=file($filepath."分集梗概.txt");
$sign1="第";
$sign2="集";
$nameArray=array();
if(!$readarray){
echo "用file函数读取文件失败
";
}
else
foreach($readarray as $value){
if(strstr($value,$sign1)&&strstr($value,$sign2))
//使用strpos要注意汉字的字节位
array_push($nameArray,$value);
//else echo "找不到";
}
echo sizeof($nameArray)."
";

//按序重命名文件

$i=1;

foreach($nameArray as $value){
$value=trim($value); //有必要
echo $value."
";
$filename=$filepath."(".$i.")".".txt";
$value=$filepath.$value.".txt";
rename($filename,$value);
$i++;
if($i>10)break; //文件夹内文件的总数
}

//映射法重命名文件

echo "
";
?>
-------------------------------------------------------运行结果:
86
第1集 洪太尉误走妖魔

Warning: rename((1).txt,第1集 洪太尉误走妖魔.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第2集 石碣村七星聚义

Warning: rename((2).txt,第2集 石碣村七星聚义.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第3集 九纹龙私走延安府

Warning: rename((3).txt,第3集 九纹龙私走延安府.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第4集 鲁提辖拳义助金翠莲

Warning: rename((4).txt,第4集 鲁提辖拳义助金翠莲.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第5集 拳打镇关西

Warning: rename((5).txt,第5集 拳打镇关西.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第6集 鲁达剃度文殊寺

Warning: rename((6).txt,第6集 鲁达剃度文殊寺.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第7集 豹子头误入白虎堂

Warning: rename((7).txt,第7集 豹子头误入白虎堂.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第8集 倒拔垂杨柳

Warning: rename((8).txt,第8集 倒拔垂杨柳.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第9集 大闹野猪林

Warning: rename((9).txt,第9集 大闹野猪林.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
第10集 林冲棒打洪教头

Warning: rename((10).txt,第10集 林冲棒打洪教头.txt) [function.rename]: No error in R:\Program Files\AppServ\www\filetest\UseFile5_for_rename.php on line 30
----------------------------

/*
因为当前路径为UseFile5_for_rename.php文件路径,而我想修改$filepath目录下的10个文件:

原名为(i).txt (i=1,2,3...,10);

如果把文件剪切在当前路径下用:

$filename="(".$i.")".".txt";
$value=$value.".txt";
rename($filename,$value);
可以实现

那为什么在绝对路径下不可以呢?
*/

------解决方案--------------------
这好像是 php5.3的一个bug,到现在还没更正吗?
------解决方案--------------------
是不是需要权限,没有设置对。不是很清楚,难道是楼上说的?

人气教程排行