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


Posted in PHP onSeptember 24, 2010

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

<?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 相关文章推荐
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
聊天室php&amp;mysql(二)
Oct 09 PHP
php 过滤器实现代码
Aug 09 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
Yii学习总结之安装配置
Feb 22 PHP
PHP实现即时输出、实时输出内容方法
May 27 PHP
thinkPHP下的widget扩展用法实例分析
Dec 26 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
比较全面的PHP数组的使用方法小结
Sep 23 #PHP
PHP之COOKIE支持详解
Sep 20 #PHP
PHPCMS的使用小结
Sep 20 #PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 #PHP
zen cart新进商品的随机排序修改方法
Sep 10 #PHP
php表单转换textarea换行符的方法
Sep 10 #PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
Sep 10 #PHP
You might like
使用PHP和XSL stylesheets转换XML文档
2006/10/09 PHP
PHP输入流php://input介绍
2012/09/18 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
php实现的SESSION类
2014/12/02 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
Django框架表单操作实例分析
2019/11/04 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
自荐信格式的六要素
2013/09/21 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
员工工作自我评价
2014/09/26 职场文书
初婚未育证明样本
2014/10/24 职场文书
琅琊山导游词
2015/02/05 职场文书
学校百日安全活动总结
2015/05/07 职场文书
Spring Boot接口定义和全局异常统一处理
2022/04/20 Java/Android