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

问题描述:

我在需要更改文件名的目录中有几千个图像。我搜索了几个选项,但没有一个适合我。如何使用php来更改文件名中的字母

我想有从 前更改文件名:47308_xyz_old.jpg到47308_new.jpg

感谢。

+2

应该是什么旧名称,新名称的区别 – shashi

+1

这是相当广泛的,并且SO不是代码写入服务。请添加您尝试过的代码和遇到的问题,然后我们可以为您提供帮助。 – Swellar

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

scandir()

rename()

+0

感谢代码AZ,但不幸的是,它不会更改任何文件。我遵循链接,但大部分信息涉及更改全名,删除或添加特殊字符并重命名目录移动。 –

+0

你的文件和目录应该是可写的 – AZinkey

+0

他们是。我仍然没有运气。上面代码的 –

这可能帮助别人的未来: 我无法得到任何PHP脚本在这样,我与命令行去目录批量重命名文件。我对文件数量也很谦虚(实际高于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 

感谢