我正在使用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)在第12行的C:\Users\Mike\PhpstormProjects\php\learn.php中 警告:重命名(..,2):访问被拒绝。(代码: 5)在第12行的C:\Users\Mike\PhpstormProjects\php\learn.php中 警告:重命名(attachment_56602224.jpg,3):系统找不到指定的文件。(代码: 2)在第12行的C:\Users\Mike\PhpstormProjects\php\learn.php中
最后一个错误会重复每一幅图像。
发布于 2015-05-17 20:40:30
您应该做的第一件事是检查您正在读取的文件是否是有效的文件,而不是目录,您还应该使用相对路径对所重命名的源文件和目标文件进行重命名。在这段代码中,您正在尝试重命名项目根目录中的文件,而不是"pics“子文件夹中的文件。
https://stackoverflow.com/questions/30291672
复制相似问题