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 checkbox复选框值的获取与checkbox默认值输出方法
May 15 PHP
PHP文件操作实现代码分享
Sep 01 PHP
PHP中常用的输出函数总结
Sep 22 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
php+xml编程之SimpleXML的应用实例
Jan 24 PHP
日常整理PHP中简单的图形处理(经典)
Oct 26 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
PHP根据key删除数组中指定的元素
Feb 28 PHP
PHP使用QR Code生成二维码实例
Jul 07 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循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
jQuery的.live()和.die() 使用介绍
2011/09/10 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
2013/12/30 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
AngularJS表格添加序号的方法
2017/03/03 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
pandas实现选取特定索引的行
2018/04/20 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
物控部经理职务说明书
2014/02/25 职场文书
2014年计生标语
2014/06/23 职场文书
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang