2015-05-17 5 views
0

Я занимаюсь PHP на своем компьютере с помощью PHPStorm. У меня есть каталог, полный изображений, которые я разместил в своем проекте. Эти изображения были сняты с веб-страницы, и у всех есть такие имена, как «attachment_56602224.jpg». Я хочу переименовать их во все числа (например, 1.jpg, 2.jpg) только для простоты. Вот то, что я до сих пор:Ошибка при попытке переименовать все файлы в каталоге (PHP)

$i = 1; 
if ($handle = opendir('pics')) { 
while (false !== ($fileName = readdir($handle))) { 
    rename($fileName, $i); 
    $i++; 
} 
closedir($handle); 
} 

Здесь ошибка я получаю, когда я запускаю его в браузере:

Предупреждение: переименование (, 1).: Процесс не может получить доступ к файлу потому что он используется другим процессом. (код: 32) в C: \ Users \ Mike \ PhpstormProjects \ php \ learn.php в строке 12

Предупреждение: rename (.., 2): Доступ запрещен. (код: 5) в C: \ Users \ Mike \ PhpstormProjects \ php \ learn.php в строке 12

Предупреждение: rename (attachment_56602224.jpg, 3): система не может найти указанный файл. (код: 2) в C: \ Users \ Mike \ PhpstormProjects \ php \ learn.php в строке 12

И эта последняя ошибка повторяется для каждого изображения.

+0

Возможный дубликат [Использование php для переименования всех файлов в папке] (http://stackoverflow.com/questions/11955323/using-php-to-rename-all-files-in-folder) – Alex2php

ответ

0

Первое, что вам нужно сделать, это проверить, действительно ли файлы, которые вы просматриваете, являются файлами, а не каталогами, также вы должны использовать относительный путь для исходного и целевого файлов, которые вы переименовываете. В этом коде фрагмента вы пытаетесь переименовать файл в корневой каталог вашего проекта, а не в подпапку «pics».

Смежные вопросы