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生成自己的LOG文件
Oct 09 PHP
PHP4实际应用经验篇(9)
Oct 09 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
php单文件版在线代码编辑器
Mar 12 PHP
通过Email发送PHP错误的方法
Jul 20 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
PHP addcslashes()函数讲解
Feb 03 PHP
Laravel框架路由管理简单示例
May 07 PHP
PHP 枚举类型的管理与设计知识点总结
Feb 13 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
咖啡与水的关系
2021/03/03 冲泡冲煮
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
python使用str &amp; repr转换字符串
2016/10/13 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
十佳大学生村官事迹
2014/01/09 职场文书
护理专业自我鉴定
2014/01/30 职场文书
企业年会主持词
2014/03/27 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
会计求职信怎么写
2015/03/20 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
SQL语句多表联合查询的方法示例
2022/04/18 MySQL