如何使用php更改文件名中的字母

时间:2017-10-06 07:04:23

标签: php batch-rename

我在目录中有几千个图像需要更改文件名。我用谷歌搜索了一些选项,但它们都不适用于我。

我希望更改文件名 例如:47308_xyz_old.jpg到47308_new.jpg

感谢。

2 个答案:

答案 0 :(得分:0)

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

scandir()

rename()

答案 1 :(得分: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

由于