重命名指定目录中的所有图像文件

时间:2015-02-24 20:08:55

标签: php file-rename

我正在尝试创建几行代码,这些代码将重命名指定目录中的所有jpg图像。父目录是 c:/ xampp / htdocs / practice / haha​​ / 。但是已重命名图像保存在 c:/ xampp / htdocs / practice /

我的代码重命名文件,但问题是它删除了指定目录下的所有图像文件,使目录为空。它将重命名的文件存储在root php目录中。新创建的文件不是可点击的图像文件。所以我想解决两个问题。

  1. 如何在重命名之前将重命名的文件保留在它们所在的目录中。
  2. 2.我如何才能维持它们成为可点击的图像文件?

    这是他们重命名的方式:

    enter image description here

    $dir='c:/xampp/htdocs/practice/haha/';
    echo getcwd().'</br>';
    $i=1;
    if(is_dir($dir)){
    echo dirname($dir);
         $file=opendir($dir);
    
         while(($data=readdir($file))!==false){
          $info=pathinfo($data,PATHINFO_EXTENSION);
          if($info=='jpg'){
             //echo pathinfo($data,PATHINFO_BASENAME).'</br>';
             echo basename(pathinfo($data,PATHINFO_BASENAME),'.jpg').'</br>';
             rename($dir.'/'.$data,'image'.$i.'jpg');
             $i++;
          }
         }
    
    }
    

1 个答案:

答案 0 :(得分:1)

你错过了文件名中的一个点:

rename($dir.'/'.$data,'image'.$i.'jpg');

这就是他们无法点击的原因。请改用:

rename($dir . '/' . $data, 'image' . $i . '.jpg');
// --------------------------------------- ^