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

 更新时间:2010年10月12日 09:59:19   转载 作者:  
今天遇到要改变当前目录下指定类型的文件类型,本来想要用批处理来做这个,结果没找到合适。就自己去查了下资料,用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;
}
?>

用字符串替换不太严谨,万一名称中就有gif程序就有异常。
建议使用PHP函数pathinfo(),循环段可修改为
复制代码 代码如下:

foreach($arr as $t)
{
  $path_parts = pathinfo($t);
  if($path_parts["extension"] == STA)
  {
    rename($t,$path_parts["dirname"]."/".basename($t,STA).END);
  }
}

相关文章

  • PHP开发中常用的字符串操作函数

    PHP开发中常用的字符串操作函数

    在编程的过程当中,字符串的操作是非常重要的并且经常会被用到,字符串常用的操作具体的包括字符串的拼接,替换字符串,查找字符串,比较字符串,复制字符串以及计算字符串的长度等等.
    2011-02-02
  • PHP调用Linux命令权限不足问题解决方法

    PHP调用Linux命令权限不足问题解决方法

    这篇文章主要介绍了PHP调用Linux命令权限不足问题解决方法,本文是解决项目问题总结而来,通过修改sudo配置文件解决无权限执行命令问题,需要的朋友可以参考下
    2015-02-02
  • PHP 使用openssl 扩展实现公钥加密的方法

    PHP 使用openssl 扩展实现公钥加密的方法

    下面小编就为大家分享一篇PHP 使用openssl 扩展实现公钥加密的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • PHP Zip解压 文件在线解压缩的函数代码

    PHP Zip解压 文件在线解压缩的函数代码

    PHP在线解压缩Zip 文件函数代码,需要在线zip解压的朋友可以参考下。
    2010-05-05
  • PHP抽象类基本用法示例

    PHP抽象类基本用法示例

    这篇文章主要介绍了PHP抽象类基本用法,结合实例形式分析了php抽象类的概念、原理、定义、使用方法及相关操作注意事项,代码注释包含较为详尽的说明信息,需要的朋友可以参考下
    2018-12-12
  • PHP使用PDO调用mssql存储过程的方法示例

    PHP使用PDO调用mssql存储过程的方法示例

    这篇文章主要介绍了PHP使用PDO调用mssql存储过程的方法,结合简单实例形式分析了php基于pdo简单实现连接及调用存储过程相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • php 字符转义 注意事项

    php 字符转义 注意事项

    今天碰到一个处理文件特殊字符的事情,再次注意到这个问题
    2009-05-05
  • php-cli简介(不会Shell语言一样用Shell)

    php-cli简介(不会Shell语言一样用Shell)

    刚才说到,我们可以用php来开发Shell程序。有的同学可能会问啦:php不是用来做网页的么?。是的,php可以用来做动态网页,并且当初php就是为做动态网页而开发的语言,但是理论上php可以用来做任何的程序,甚至是桌面程序
    2013-06-06
  • php部分常见问题总结

    php部分常见问题总结

    php常见问题解决集锦,主要包括php的运行方法等小技巧
    2008-03-03
  • php session 错误

    php session 错误

    关于session的问题集锦解决方案
    2009-05-05

最新评论