php实现批量修改文件名称

时间:2022-05-23 14:03:40

场景叙述:比如我要将D:\WWW\img\Gastroenterology这个文件夹下图片要重新命名成1.jpg,2.jpg.......这样的有规律名字,

如下图:

php实现批量修改文件名称

那么我们就可以利用php的rename这个函数很好的实现,

我的index.php和img的文件夹在用一层,那我就用相对路径举例子

php实现批量修改文件名称

index.php的源码如下:

<?php
header("Content-type: text/html; charset=utf-8");
//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称
function fRename($dirname){
if(!is_dir($dirname)){
echo "{$dirname}不是一个有效的目录!";
exit();
}
$handle = opendir($dirname);
$i = 1;
while(($fn = readdir($handle))!==false){ if($fn!='.'&&$fn!='..'){
echo "<br>将名为:".$fn."\n\r";
$curDir = $dirname.'/'.$fn;
if(is_dir($curDir)){
fRename($curDir);
}else{
$path = pathinfo($curDir);
//改成你自己想要的新名字
$newname = $path['dirname'].'/'.$i.'.'.$path['extension'];
echo "替换成:".$i.'.'.$path['extension']."\r\n";
rename($curDir,$newname);
$i++;
}
}
}
}
//给出一个目录名称可以是相对路径,也可以是绝对路径
fRename('img\Gastroenterology');
exit();
?>

运行代码,截屏如下:

php实现批量修改文件名称

再打开图片文件夹:

php实现批量修改文件名称

好的,搞定了,有问题,欢迎指正。