尝试重命名目录(PHP)中的所有文件时出错

尝试重命名目录(PHP)中的所有文件时出错,php,Php,我正在用PHPStorm在我的计算机上练习PHP。我有一个目录,里面有我放在项目中的图像。这些图片都是从一个网页上取下来的,都有“attachment_56602224.jpg”这样的名称。为了简单起见,我想将它们重命名为所有数字(比如1.jpg、2.jpg)。以下是我目前掌握的情况: $i = 1; if ($handle = opendir('pics')) { while (false !== ($fileName = readdir($handle))) { rename($fi

我正在用PHPStorm在我的计算机上练习PHP。我有一个目录,里面有我放在项目中的图像。这些图片都是从一个网页上取下来的,都有“attachment_56602224.jpg”这样的名称。为了简单起见,我想将它们重命名为所有数字(比如1.jpg、2.jpg)。以下是我目前掌握的情况:

$i = 1;
if ($handle = opendir('pics')) {
while (false !== ($fileName = readdir($handle))) {
    rename($fileName, $i);
    $i++;
}
closedir($handle);
}
以下是我在浏览器中运行时遇到的错误:

警告:重命名(,1):该进程无法访问该文件,因为另一进程正在使用该文件。(代码:32)在C:\Users\Mike\PhpstormProjects\php\learn.php的第12行

警告:重命名(..,2):访问被拒绝。(代码:5)在C:\Users\Mike\PhpstormProjects\php\learn.php的第12行

警告:重命名(附件_56602224.jpg,3):系统找不到指定的文件。(代码:2)在C:\Users\Mike\PhpstormProjects\php\learn.php的第12行


最后一个错误对每个图像都会重复。

您应该做的第一件事是检查您正在读取的文件是否是有效的文件而不是目录,并且您应该使用您正在重命名的源文件和目标文件的相对路径。 在该代码片段中,您试图重命名项目根目录中的文件,而不是“pics”子文件夹中的文件。

可能存在重复的文件