php实现批量修改文件名称的方法

时间:2022-11-08 18:11:46

本文实例讲述了php实现批量修改文件名称的方法。分享给大家供大家参考,具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?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程序设计有所帮助。