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中explode与split的区别介绍
Oct 03 PHP
js和php邮箱地址验证的实现方法
Jan 09 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
Mar 13 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 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/06 新手入门
php下实现伪 url 的超简单方法[转]
2007/09/24 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
PHP中echo和print的区别
2014/08/28 PHP
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
PHP异常处理Exception类
2015/12/11 PHP
php实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python中学习K-Means和图片压缩
2017/11/20 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
python使用递归的方式建立二叉树
2019/07/03 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
解释i节点在文件系统中的作用
2013/11/26 面试题
高效课堂标语
2014/06/26 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
群众路线个人整改措施
2014/10/24 职场文书
英文升职感谢信
2015/01/23 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js