PHP循环遍历文件夹及子目录并将图片批量更名的方法
更新:2020-04-03 15:47:12
人气:1893
来源:本站原创
A+
写这块的内容主要还是因为最近李雷PHP博客提供开源下载,有一些码友的虚拟主机不支持无后缀图片的显示问题,就想着写个PHP脚本批量处理一下解决这个问题,毕竟采用图像处理软件对无后缀的图片解决的不是很好。
可是自己研究以后发现只是涉及WIN系列的虚拟机或服务器才有这样的问题,通过web.config也可以解决这个问题,就没再更新了,保持了部分图片无后缀显示的风格。
虽然不更新了,但还是把这个文件共享出来了,实现循环遍历目录和子目录下的所有文件,只要是无后缀的文件,都重新命名加.jpg的后缀来解决显示问题。
<?php //循环目录下所有文件,包含子目录,将文件名不包含有.的文件,重新命名为.jpg文件 function my_dir($dir) { $files = []; if(@$handle = opendir($dir)) { while(($file = readdir($handle)) !== false) { if($file != ".." && $file != ".") { if(is_dir($dir . "/" . $file)) { //如果是子文件夹,进行递归 $files[$file] = my_dir($dir . "/" . $file); } else { $files[] = $file; $img_name=$file;//临时变量 if (strpos($img_name,'.')===false){ rename($dir . "/".$img_name,$dir . "/".$img_name.".jpg");//重命名图片名称 } } } } closedir($handle); } return $files; } echo "<pre>"; print_r(my_dir("./upload_image"));//目录 echo "</pre>";
推荐的文章
随手记
PHP经验分享
- ● mysql错误:Foundoptionwithoutprecedinggroupinconfigfile
- ● PHP如何从一个数组数据列表中随机取其中的数值?
- ● PHP获取用户访问IP地址的5种方法
- ● PHP用imagerotate旋转图片和等比缩放压缩、添加水印
- ● php怎么把时间转成数字
- ● 利用PHPflush函数在运行过程中直接打印输出结果
- ● php与JavaScript的正则表达式使用方法是否一样?
- ● PHP中preg_match()和preg_match_all()正则表达式的用法区别
- ● PHP批量向百度主动推送URL加快收录的示例代码
- ● 使用PHP中3个神奇常量快速获取目录、文件名和行号