2016-01-06 49 views
0

我有一個約2000圖像的目錄。圖像文件名稱的結構如下:php批量重命名目錄中的圖像

image1_r1.jpg 
newimage2_r2.jpg 
anotherimage3_r2.jpg etc etc 

我已創建以下代碼來循環替換'r1'。一旦完成,我將手動將其更改爲'r2'並重復其餘部分。

if ($handle = opendir('/my-directory/')) { 
    while (false !== ($fileName = readdir($handle))) { 
     $newName = str_replace("r1","",$fileName); 
     rename($fileName, $newName); 
    } 
    closedir($handle); 
} 

然而,當我運行我的腳本,我得到以下幾點:

Warning: rename(sgr_dolly_duck_r1_item.jpg,sgr_dolly_duck_item.jpg): No such file or directory in /home/washington/public_html/rename.php on line 8 

任何想法,這是爲什麼?

+1

您缺少文件路徑中的dirname,因此該函數將搜索當前目錄中的文件。 –

回答

3

您需要將/my-directory/添加到$fileName$newName的開頭。或者先通過撥打chdir('/my-directory/')來更改當前的工作目錄。

+0

謝謝,這樣一個愚蠢的錯誤! – danyo