PHP实现读取文件夹及批量重命名文件操作示例


Posted in PHP onApril 15, 2019

本文实例讲述了PHP实现读取文件夹及批量重命名文件操作。分享给大家供大家参考,具体如下:

以读取从网上下载的评书解压后的文件夹为例,并批量重命名

文件夹内容如下,现在使用php读取这个文件夹里面的文件,并批量重命名为"隋唐演义+序号.mp3"的格式:

PHP实现读取文件夹及批量重命名文件操作示例

<?php 	
	$dir1 = './dir1/';//读取文件夹名称 (重命名为dir1避免中文报错,移动到与要执行的php文件同级目录)
	$filearr = scandir($dir1);//读取文件夹
	print_r($filearr);
读取文件夹内容如下:

PHP实现读取文件夹及批量重命名文件操作示例

进一步操作,对获得的文件数组做一些处理:

<?php 	
	$dir1 = './dir1/';//读取文件夹名称(避免使用中文)
	$filearr = scandir($dir1);//读取文件夹
	unset($filearr[0]);//去除多余的元素
	unset($filearr[1]);
	$filearr = array_values($filearr);//使数组从0开始,以1递增
	print_r($filearr);
此时文件数组的格式就正常了:

PHP实现读取文件夹及批量重命名文件操作示例

现在对文件数组循环,重命名文件,并移动到文件夹dir2(移动文件是rename()函数造成的):

<?php 	
	$dir1 = './dir1/';//读取文件夹名称(避免使用中文)
 	$dir2 = './dir2/';//移动到文件夹名称(避免使用中文)
	$filearr = scandir($dir1);//读取文件夹
	unset($filearr[0]);//去除多余的元素
	unset($filearr[1]);
	$filearr = array_values($filearr);//使数组从0开始,以1递增
	$filecount = count($filearr);//文件数量
	$onenum = 1;//起始编号
	$maxnum = $onenum + $filecount;//最大循环次数
	$title = 'styy';//文件标题
	$houzhui = '.mp3';//文件后缀
	for ($i = $onenum; $i <= $maxnum; $i++) {
	  for ($j=0; $j < $filecount ; $j++) {
		if($i<10){
		  $i = '0'.$i;
		} 
		rename($dir1.$filearr[$j],$dir2.$title.$i.$houzhui);
		$i++;
	  }
	}

操作结果如下,批量重命名成功,dir2文件夹内容:

PHP实现读取文件夹及批量重命名文件操作示例

如果使用中文名对文件重命名,会出现乱码的现象,原因是字符集编码设置的问题,解决方法如下:(但遇到某些中文字符仍旧是乱码)

<?php 	
	$dir1 = './dir1/';//读取文件夹名称
 	$dir2 = './dir2/';//移动到文件夹名称
	$filearr = scandir($dir1);//读取文件夹
	unset($filearr[0]);//去除多余的元素
	unset($filearr[1]);
	$filearr = array_values($filearr);//使数组从0开始,以1递增
	$filecount = count($filearr);//文件数量
	$onenum = 1;//起始编号
	$maxnum = $onenum + $filecount;//最大循环次数
	$title = '隋唐演义';//文件标题
	$houzhui = '.mp3';//文件后缀
	for ($i = $onenum; $i <= $maxnum; $i++) {
	  for ($j=0; $j < $filecount ; $j++) {
		if($i<10){
		  $i = '0'.$i;
		} 
		$filename = $title.$i.$houzhui;
		rename($dir1.$filearr[$j],$dir2.iconv("utf-8","gb2312",$filename));//设置字符集
		$i++;
	  }
	}

运行后dir2文件夹内容如下:

PHP实现读取文件夹及批量重命名文件操作示例

到此完成php对文件夹中文件的读取、批量重命名操作。另外可以构思一个简单的页面自定义操作(如下图,代码省略)

PHP实现读取文件夹及批量重命名文件操作示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
网络资源
Oct 09 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
php记录代码执行时间(实现代码)
Jul 05 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
Yii调试SQL的常用方法
Jul 09 PHP
PHP发送短信代码分享
Aug 11 PHP
为你总结一些php信息函数
Oct 21 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
php正则修正符用法实例详解
Dec 29 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 #PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 #PHP
Laravel如何创建服务器提供者实例代码
Apr 15 #PHP
详解如何实现Laravel的服务容器的方法示例
Apr 15 #PHP
php xhprof使用实例详解
Apr 15 #PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 #PHP
vmware linux系统安装最新的php7图解
Apr 14 #PHP
You might like
php 调试利器debug_print_backtrace()
2012/07/23 PHP
php+highchats生成动态统计图
2014/05/21 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
javascript preload&amp;lazy load
2010/05/13 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
学习JavaScript设计模式(封装)
2015/11/26 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
python读取xml文件方法解析
2020/08/04 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
python之随机数函数的实现示例
2020/12/30 Python
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
六十大寿答谢词
2014/01/12 职场文书
汽车专业求职信
2014/06/05 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
大学生实习证明范本
2014/09/19 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
党员理论学习心得体会
2016/01/21 职场文书
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技