php实现批量修改文件名称
场景叙述:比如我要将D:\WWW\img\Gastroenterology这个文件夹下图片要重新命名成1.jpg,2.jpg.......这样的有规律名字,
如下图:
那么我们就可以利用php的rename这个函数很好的实现,
我的index.php和img的文件夹在用一层,那我就用相对路径举例子
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(); ?>
运行代码,截屏如下:
再打开图片文件夹:
好的,搞定了,有问题,欢迎指正。