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 相关文章推荐
set_include_path在win和linux下的区别
Jan 10 PHP
深入php多态的实现详解
Jun 09 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
ubuntu12.04使用c编写php扩展模块教程分享
Dec 25 PHP
php简单实现多字节字符串翻转的方法
Mar 31 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
PHP自定义多进制的方法
Nov 03 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
PHP接口并发测试的方法(推荐)
Dec 15 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
php脚本守护进程原理与实现方法详解
Jul 20 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
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
2016/05/17 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
jupyter安装小结
2016/03/13 Python
使用requests库制作Python爬虫
2018/03/25 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
python能做什么 python的含义
2019/10/12 Python
Pytorch之contiguous的用法
2019/12/31 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
秋季运动会广播稿大全
2014/02/17 职场文书
保险专业求职信
2014/07/07 职场文书
个人整改方案范文
2014/10/25 职场文书
文明礼仪倡议书
2015/04/28 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android