PHP循环遍历文件夹及子目录并将图片批量更名的方法

后端开发   发布日期:2023年05月14日   浏览次数:501

写这块的内容主要还是因为最近李雷PHP博客提供开源下载,有一些码友的虚拟主机不支持无后缀图片的显示问题,就想着写个PHP脚本批量处理一下解决这个问题,毕竟采用图像处理软件对无后缀的图片解决的不是很好。

可是自己研究以后发现只是涉及WIN系列的虚拟机或服务器才有这样的问题,通过web.config也可以解决这个问题,就没再更新了,保持了部分图片无后缀显示的风格。

虽然不更新了,但还是把这个文件共享出来了,实现循环遍历目录和子目录下的所有文件,只要是无后缀的文件,都重新命名加.jpg的后缀来解决显示问题。

  1. <?php
  2.  
  3. //循环目录下所有文件,包含子目录,将文件名不包含有.的文件,重新命名为.jpg文件
  4. function my_dir($dir) {
  5. $files = [];
  6. if(@$handle = opendir($dir)) {
  7. while(($file = readdir($handle)) !== false) {
  8. if($file != ".." && $file != ".") {
  9. if(is_dir($dir . "/" . $file)) { //如果是子文件夹,进行递归
  10. $files[$file] = my_dir($dir . "/" . $file);
  11. } else {
  12. $files[] = $file;
  13. $img_name=$file;//临时变量
  14. if (strpos($img_name,'.')===false){
  15. rename($dir . "/".$img_name,$dir . "/".$img_name.".jpg");//重命名图片名称
  16. }
  17. }
  18. }
  19. }
  20. closedir($handle);
  21. }
  22. return $files;
  23. }
  24.  
  25. echo "<pre>";
  26. print_r(my_dir("./upload_image"));//目录
  27. echo "</pre>";

以上就是PHP循环遍历文件夹及子目录并将图片批量更名的方法的详细内容,更多关于PHP循环遍历文件夹及子目录并将图片批量更名的方法的资料请关注九品源码其它相关文章!