簡體   English   中英

嘗試重命名目錄中的所有文件時出錯(PHP)

[英]Error when attempting to rename all the files in a directory (PHP)

我正在使用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):該進程無法訪問該文件,因為該文件正在被另一個進程使用。 第12行的C:\\ Users \\ Mike \\ PhpstormProjects \\ php \\ learn.php中的(代碼:32)

警告:重命名(..,2):訪問被拒絕。 第12行的C:\\ Users \\ Mike \\ PhpstormProjects \\ php \\ learn.php中的(代碼:5)

警告:重命名(attachment_56602224.jpg,3):系統找不到指定的文件。 第12行的C:\\ Users \\ Mike \\ PhpstormProjects \\ php \\ learn.php中的(代碼:2)

最后一個錯誤對於每個圖像都會重復。

您應該做的第一件事是檢查正在讀取的文件是否實際上是文件而不是目錄,並且還應該將要重命名的源文件和目標文件使用相對路徑。 在該代碼段中,您嘗試重命名項目的根目錄中的文件,而不是“ pics”子文件夾中的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM