本文实例讲述了php实现批量修改文件名称的方法。分享给大家供大家参考,具体如下:
<?php
session_start();
set_time_limit(0);
//function allfile($dir)
// {
// $files=array();
// if(is_file($dir))
// {
// return $dir;
// }
// $handle = opendir($dir);
// if($handle) {
// while(false !== ($file = readdir($handle))) {
// if ($file != '.' && $file != '..') {
// $filename = $dir . "/" . $file;
// if(is_file($filename)) {
// $files[] = $filename;
// }else {
//
// $files = array_merge($files, allfile($filename));
// }
// }
// } // end while
// closedir($handle);
// }
// return $files;
//
// }
// $dir="./*";
//print_r(allfile($dir));
$path = '.';
function get_filetree($path){
$tree = array();
foreach(glob($path.'/*') as $single){
if(is_dir($single)){
$tree = array_merge($tree,get_filetree($single));
}
else{
$tree[] = $single;
}
}
return $tree;
}
$dir_arr=get_filetree($path);
$dir_arr_count=count($dir_arr);
//echo $dir_arr_count."<br />";
for($i=0;$i<$dir_arr_count;$i++){
$file_name= $dir_arr[$i];
echo $file_name."<br />";
$file=basename($file_name);
//echo $file."<br />";
$dir_arr_0_=explode($file,$file_name);
$dir_arr_0_0=$dir_arr_0_[0];
$file_arr=explode("[1]",$file);
////rename
$file_new_name=$file_arr[0].$file_arr[1];
rename($file_name,$dir_arr_0_0.$file_new_name);
}
?>
希望本文所述对大家PHP程序设计有所帮助。