【问题标题】:Error when attempting to rename all the files in a directory (PHP)尝试重命名目录中的所有文件时出错 (PHP)
【发布时间】:2015-05-18 04:40:30
【问题描述】:

我正在使用 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);
}

这是我在浏览器中运行时遇到的错误:

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

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

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

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

【问题讨论】:

标签: php


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-26
    • 2023-03-18
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 2021-09-14
    • 2015-02-28
    • 2014-11-08
    相关资源
    最近更新 更多