Пакетное переименование — Как использовать php для изменения букв в имени файла

У меня есть несколько тысяч изображений в каталоге, для которого мне нужно изменить имя файла. Я погуглил несколько вариантов, но ни один из них не работает для меня.

Я хочу, чтобы имена файлов были изменены с
например: 47308_xyz_old.jpg по 47308_new.jpg

Благодарю.

0

Решение

$files = scandir(__DIR__);
foreach ($files as $file) {
if(file_exists($file))
rename($file, str_replace("xyz_old", "new", $file));
}

ScanDir ()

переименование ()

0

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

Это может помочь кому-то в будущем:
Мне не удалось заставить скрипт php работать с пакетным переименованием файлов в каталоге, поэтому я выбрал Commandline. Я также был скромен с количеством файлов (на самом деле выше 350K), поэтому командная строка могла бы быть лучшим первым вариантом.
Поскольку я хотел изменить только небольшую часть имени файла,
меняется с 47308_xyz_old.jpg на 47308_new.jpg
Это было мое решение

cd /var/www/vhosts/YOURDIR
Rename all *_old.jpg to new.jpg
for f in *_old.jpg; do
mv -- "$f" "${f%_old.jpg}new.jpg"done

Спасибо

0

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