2016-01-06 4 views
0

У меня есть каталог из 2000 изображений. Имена файлов изображений структурированы как следующее:php bulk rename images в каталоге

image1_r1.jpg 
newimage2_r2.jpg 
anotherimage3_r2.jpg etc etc 

Я создал следующие перебрать и заменить «г1». После завершения я вручную изменим это на «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

Вам не хватает имени файла в пути к файлу, поэтому функция выполняет поиск файла в вашем текущем каталоге. –

ответ

3

Вам необходимо добавить /my-directory/ в начало как $fileName, так и $newName. Или измените текущий рабочий каталог, сначала позвонив chdir('/my-directory/').

+0

спасибо, такая глупая ошибка! – danyo