У меня есть 2500 изображений в папке, которая имеет слово NAME во всех изображениях. Например
Peter Wang B5357550.jpg
Sander Mackiney B5355624.jpg
что мне нужно сделать, это прочитать все имена файлов и переименовать его в следующем
B5357550.jpg
B5355624.jpg
Итак, удалите NAME и SURNAME из имени файла, возможно ли в PHP сделать массовое переименование?
(Все студенческие идентификаторы в формате Bxxxxxxx)
Быстрое, простое решение:
$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']
не работает для вас.Если бы все они были в таком формате, это было бы просто исправить, да. Бежать glob
чтобы получить все файлы .jpg в массив, а затем просто explode
имя файла на пробелах, используйте foreach
цикл на этом массиве, используйте end
чтобы получить последний раздел, и rename
файл в эту строку.