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 相关文章推荐
xajax写的留言本
Nov 25 PHP
PHP_MySQL教程-第一天
Mar 18 PHP
PHP mkdir()定义和用法
Jan 14 PHP
PHP $_FILES函数详解
Mar 09 PHP
PHP中数组的三种排序方法分享
May 07 PHP
php中根据变量的类型 选择echo或dump
Jul 05 PHP
深入PHP curl参数的详解
Jun 17 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 PHP
PDO::inTransaction讲解
Jan 28 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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中异常处理方法小结
2015/01/09 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
VUE实现图片验证码功能
2020/11/18 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
python操作mysql代码总结
2018/06/01 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
寄语十八大感言
2014/02/07 职场文书
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
优秀团员事迹材料
2014/12/25 职场文书
公司开除员工通知
2015/04/22 职场文书
经济纠纷起诉状
2015/05/20 职场文书
如何制定一份可行的计划!
2019/06/21 职场文书
Linux安装Docker详细教程
2022/07/07 Servers