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 相关文章推荐
PHP自动生成月历代码
Oct 09 PHP
php a simple smtp class
Nov 26 PHP
php 在线打包_支持子目录
Jun 28 PHP
PHP中str_replace函数使用小结
Oct 11 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
Aug 24 PHP
header中Content-Disposition的作用与使用方法
Jun 13 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
php PDO异常处理详解
Nov 20 PHP
smarty模板数学运算示例
Dec 11 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
php curl批处理实现可控并发异步操作示例
May 09 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
javascript prototype原型操作笔记
2009/12/07 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
详解vue中async-await的使用误区
2018/12/05 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
Python 专题四 文件基础知识
2017/03/20 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
Python列表和元组的定义与使用操作示例
2017/07/26 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
python and or用法详解
2019/06/26 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
Python容器类型公共方法总结
2020/08/19 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
全球最大的服务市场:Fiverr
2017/01/03 全球购物
2015年网络管理员工作总结
2015/05/21 职场文书
新郎新娘致辞
2015/07/31 职场文书
多人股份制合作协议书
2016/03/19 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
Python基础之变量的相关知识总结
2021/06/23 Python
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL
Python PIL按比例裁剪图片
2022/05/11 Python