переименование — переименовать много файлов в папке

У меня есть 2500 изображений в папке, которая имеет слово NAME во всех изображениях. Например

Peter Wang B5357550.jpg
Sander Mackiney B5355624.jpg

что мне нужно сделать, это прочитать все имена файлов и переименовать его в следующем

B5357550.jpg
B5355624.jpg

Итак, удалите NAME и SURNAME из имени файла, возможно ли в PHP сделать массовое переименование?
(Все студенческие идентификаторы в формате Bxxxxxxx)

0

Решение

Быстрое, простое решение:

$dir = $_SERVER['DOCUMENT_ROOT'].'/your-folder-to-files';
$files = scandir($dir);
unset($files[0],$files[1]);
foreach ($files as $oldname){
$newname = substr($oldname, -12);
rename ($dir.'/'.$oldname, $dir.'/'.$newname);
}

N.B .: Возможно, вам придется изменить путь к серверу примерно так:

$dir = "/home/users/you/folder_files/";

или же

$dir = "folder_files/";
  • Если $_SERVER['DOCUMENT_ROOT'] не работает для вас.
1

Другие решения

Если бы все они были в таком формате, это было бы просто исправить, да. Бежать glob чтобы получить все файлы .jpg в массив, а затем просто explode имя файла на пробелах, используйте foreach цикл на этом массиве, используйте end чтобы получить последний раздел, и rename файл в эту строку.

-1

По вопросам рекламы [email protected]