13916729435 发表于 2015-8-26 10:24:53

php更改目录及子目录下所有的文件后缀

  今天遇到要改变当前目录下指定类型的文件类型,本来想要用批处理来做这个,结果没找到合适。就自己去查了下资料,用Php来处理一下。
  不是很经常处理文件,所以对遍历目录还不是很熟悉,找了一下资料,自己修改一下。
  让大家看看是否需要完善的
  代码主要的目的是 批量更改 文件后缀 由于淘宝数据包图片类型的不同 所以要改一下适合的。


代码



1 <?php
2//本文件和要改变的目录下的文件 放在同一文件夹下
3 define("STA",".gif");//原来的文件格式
4 define("END",".jpg");//要改变的格式
5 $dir="./";
6 $arr=allfile($dir);
7
8 foreach($arr as $t)
9 {
10   $t=str_replace(".//","",$t);
11
12   if(substr_count($t,STA)>0)
13   {
14   $f2=str_replace(STA,"",$t);
15   rename($t,$f2.END);
16   }
17 }
18 //获取目录下所有文件的函数
19 function allfile($dir)
20 {
21   $files=array();
22   if(is_file($dir))
23   {
24         return $dir;
25   }
26   $handle = opendir($dir);
27   if($handle) {
28         while(false !== ($file = readdir($handle))) {
29             if ($file != '.' && $file != '..') {
30               $filename = $dir . "/". $file;
31               if(is_file($filename)) {
32                     $files[] = $filename;
33               }else {
34                     
35                     $files = array_merge($files, allfile($filename));
36               }
37             }
38         }   //end while
39         closedir($handle);
40   }
41   return $files;
42
43 }
44
45
46
47 ?>
  转载请说明:来源 http://www.jianlila.com 技术组
页: [1]
查看完整版本: php更改目录及子目录下所有的文件后缀