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 相关文章推荐
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
透析PHP的配置文件php.ini
Oct 09 PHP
php获得文件扩展名三法
Nov 25 PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
PHP排序算法类实例
Jun 17 PHP
PHP的关于变量和日期处理的一些面试题目整理
Aug 10 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
php单例模式的简单实现方法
Jun 10 PHP
php进程daemon化的正确实现方法
Sep 06 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
编译问题
2006/10/09 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
jQuery each()方法的使用方法
2010/03/18 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
iframe实用操作锦集
2014/04/22 Javascript
jQuery大于号(&gt;)选择器的作用解释
2015/01/13 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
python 字典修改键(key)的几种方法
2018/08/10 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
浅析Django中关于session的使用
2019/12/30 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
自荐信包含哪些内容
2013/10/30 职场文书
四年大学生活的自我评价范文
2014/02/07 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
法制宣传月活动总结
2014/04/29 职场文书
合同意向书范本
2014/07/30 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
2014年医院工作总结
2014/11/20 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
党员个人自我评价
2015/03/03 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
Redis基本数据类型Set常用操作命令
2022/06/01 Redis