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 相关文章推荐
.htaccess文件保护实例讲解
Feb 06 PHP
php中Smarty模板初体验
Aug 08 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
PHP导出Excel实例讲解
Jan 24 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 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中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
jQuery toggleClass应用实例(附效果图)
2014/04/06 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
vue和webpack安装命令详解
2018/06/15 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
python中logging包的使用总结
2018/02/28 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
Django之PopUp的具体实现方法
2019/08/31 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
python中线程和进程有何区别
2020/06/17 Python
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
.NET概念性的面试题
2012/02/29 面试题
《穷人》教学反思
2014/04/08 职场文书
《秋游》教学反思
2014/04/24 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
个人委托书范文
2015/01/28 职场文书
村党组织公开承诺书
2015/04/30 职场文书
少先队中队工作总结
2015/08/14 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL