php更改目录及子目录下所有的文件后缀的代码

yipeiwu_com6年前PHP代码库
不是很经常处理文件,所以对遍历目录还不是很熟悉,找了一下资料,自己修改一下。
让大家看看是否需要完善的
代码主要的目的是 批量更改 文件后缀 由于淘宝数据包图片类型的不同 所以要改一下适合的。
复制代码 代码如下:

<?php
//本文件和要改变的目录下的文件 放在同一文件夹下
define("STA",".gif");//原来的文件格式
define("END",".jpg");//要改变的格式
$dir="./";
$arr=allfile($dir);
foreach($arr as $t)
{
$t=str_replace(".//","",$t);
if(substr_count($t,STA)>0)
{
$f2=str_replace(STA,"",$t);
rename($t,$f2.END);
}
}
//获取目录下所有文件的函数
function allfile($dir)
{
$files=array();
if(is_file($dir))
{
return $dir;
}
$handle = opendir($dir);
if($handle) {
while(false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {
$filename = $dir . "/" . $file;
if(is_file($filename)) {
$files[] = $filename;
}else {
$files = array_merge($files, allfile($filename));
}
}
} // end while
closedir($handle);
}
return $files;
}

?>

相关文章

一个简单安全的PHP验证码类 附调用方法

一个简单安全的PHP验证码类 附调用方法

一、验证码示例 二、php验证码类,secoder.class.php <?php /** * 安全验证码 * * 安全的验证码要:验证码文字扭曲、旋转,...

PHP获取表单所有复选框的值的方法

通常来说,php中总是只获取最后一个复选框的值,那么如何才能获取所有复选框的值? 解决办法如下: form表单的部分代码如下: <input type="checkbox" n...

php中如何判断一个网页请求是ajax请求还是普通请求

如何在php中判断一个网页请求是ajax请求还是普通请求?你可以通过传递参数的方法来实现,例如使用如下网址请求:/path/to/pkphp.com/script.php?ajax在ph...

php使用curl模拟多线程实现批处理功能示例

本文实例讲述了php使用curl模拟多线程实现批处理功能。分享给大家供大家参考,具体如下: php模拟多线程用到curl库,这个库很强大,可以做好多事,比如模拟登陆,文件上传/下载,数据...

PHP中常用的魔术方法

我们在PHP中经常用到魔术方法,像构造方法,析构方法等等魔术变量,下面总结一下一些常用的魔术变量: __construct(),__destruct(),__clone(),__auto...