<?php
//保存为UseFile5_for_rename.php
$filepath="C:/Users/Administrator/Desktop/新建文件夹/";
$readarray=file($filepath."分集梗概.txt");
$sign1="第";
$sign2="集";
$nameArray=array();
if(!$readarray){
echo "用file函数读取文件失败<br>";
}
else
foreach($readarray as $value){
if(strstr($value,$sign1)&&strstr($value,$sign2))
//使用strpos要注意汉字的字节位
array_push($nameArray,$value);
//else echo "找不到";
}
echo sizeof($nameArray)."<br>";
//按序重命名文件
$i=1;
foreach($nameArray as $value){
$value=trim($value); //有必要
echo $value."<br>";
$filename=$filepath."(".$i.")".".txt";
$value=$filepath.$value.".txt";
rename($filename,$value);
$i++;
if($i>10)break; //文件夹内文件的总数
}
//映射法重命名文件
echo "<hr>";
?>
-------------------------------------------------------运行结果:
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,到现在还没更正吗?
------解决方案--------------------
是不是需要权限,没有设置对。不是很清楚,难道是楼上说的?