Переименование имен файлов - PullRequest
0 голосов
/ 01 июля 2018

Я использую следующий скрипт для переименования изображений в папке. При выполнении первые 2 (новые) имена не выполняются, поэтому оно в основном начинается с 3.

    function getFileExtension($filename){   
        return substr($filename, strrpos($filename, '.'));
    }


    $counter    =   1;

if ($handle = opendir('images')) {

    while (false !== ($fileName = readdir($handle))) {
        $newCounter = str_pad($counter, 3, '0', STR_PAD_LEFT);
        $prefix =   '11225';
        $newName = $prefix.$newCounter;
        rename('images/'.$fileName, 'images/'.$newName.getFileExtension($fileName));
        $counter++;

    }

    closedir($handle);

}

Это предупреждения, которые я получаю,

Предупреждение: переименовать (images /., Images / 11225001.): Процесс не может получить доступ файл, потому что он используется другим процессом. (код: 32) в C: \ wamp \ apache2 \ htdocs \ renameimages \ index.php в строке 21

Предупреждение: переименовать (images / .., images / 11225002.): Доступ запрещен. (код: 5) в C: \ wamp \ apache2 \ htdocs \ renameimages \ index.php в строке 21

Есть ли что-то, чего мне не хватает?

1 Ответ

0 голосов
/ 01 июля 2018

Первые две ссылки на текущую папку и родительскую папку. Вы должны пропустить их.

if($fileName=='.' || $filename=='..')continue;
...