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

rename all the image files in a specified directory

我正在尝试创建几行代码来重命名指定 directory.The 父目录中的所有 jpg 图像是 c:/xampp/htdocs/practice/haha/.但重命名的图像保存在 c:/xampp/htdocs/practice/

我的代码确实重命名了文件,但问题是它删除了指定目录中的所有图像文件,留下目录 empty.It 将重命名的文件存储在根目录中 php directory.And新创建的文件是不可点击的图像 file.So 我想解决两个问题。

  1. 如何将重命名的文件保存在重命名之前的同一目录中。

2.How 我可以将它们维持为可点击的图像文件吗?

这是他们重命名后的样子:

$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++;
      }
     }

}

您在文件名中遗漏了一个点:

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

这就是它们不可点击的原因。改用这个:

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