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

这篇博客分享了一段PHP代码,用于解决在Windows系列虚拟主机上无后缀图片无法显示的问题。作者发现该问题是特定于某些服务器环境,并提供了一个递归遍历目录并为无后缀图片添加.jpg后缀的脚本,但最终发现通过web.config也能解决,所以脚本未进一步更新。尽管如此,作者仍决定分享这个脚本供他人参考。
摘要由CSDN通过智能技术生成

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

";

print_r(my_dir("./upload_image"));//目录

echo "

";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值