遍历文件夹下文件并重新命名

 * 遍历文件夹目录下文件并重新命名
 * @param  [type] $dir [给定的目录地址]
 * @return [array] $files  [返回重命名成功后目录文件组成的数组]
 */
 function my_rename($dir) {
     $files = array();
     $file = '';
     $type = '';
     $info = '';
     //重命名规则为 第一个重命名为1,第二个为2。。。
     $num = '0';
     //扩展名数组,文件类型在这个数组里面,文件方可重命名
       $extension = array('jpg','jpeg','gif','png');
       if (is_dir($dir)) {
           if (  $handle = opendir($dir)) {
           while(($file=readdir($handle))!==false){
               if($file!='.' && $file!='..'){
                 $cur_path = $dir.DIRECTORY_SEPARATOR.$file;
                 if (is_dir($cur_path)) {
                   $files[$file] = my_scandir($cur_path);
                 }else{
                   //获取文件类型
                   $info = pathinfo($cur_path);
                   $type = strtolower($info["extension"]);
                   //查看文件类型是否在允许重命名的文件类型数组里
                   if (in_array($type,$extension)) {
                        ++$num;
                        $newname = $dir.DIRECTORY_SEPARATOR.$num.'.'.$type;
                        rename($cur_path,$newname);
                }
                //重命名后的文件名写入数组
               $files[]=$file;
                 }
               }
             }
           }else {
             echo "打开失败";
             break;
           }
           closedir($handle);
           return $files;
       }else {
         echo "给定的不是目录!";
       }
     }

你可能感兴趣的:(遍历文件夹下文件并重新命名)