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 相关文章推荐
PHP开发负载均衡指南
Jul 17 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
PHP循环结构实例讲解
Feb 10 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
destoon常用的安全设置概述
Jun 21 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
PHP脚本的10个技巧(3)
2006/10/09 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
php中显示数组与对象的实现代码
2011/04/18 PHP
php 文件上传实例代码
2012/04/19 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
使用python加密自己的密码
2015/08/04 Python
Python实现将xml导入至excel
2015/11/20 Python
python实现汉诺塔递归算法经典案例
2021/03/01 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
学python最电脑配置有要求么
2020/07/05 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
建筑行业的大学生自我评价
2013/12/08 职场文书
优秀教师工作感言
2014/02/16 职场文书
安全先进个人材料
2014/12/29 职场文书
施工安全保证书
2015/05/09 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
聊聊Python String型列表求最值的问题
2022/01/18 Python