写这块的内容主要还是因为最近毛票票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>";