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安装为Apache DSO
Oct 09 PHP
图书管理程序(三)
Oct 09 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
PHP中soap的用法实例
Oct 24 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
Yii中创建自己的Widget实例
Jan 05 PHP
php实现在线通讯录功能(附源码)
May 13 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
PHP实现生成数据字典功能示例
May 24 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
Jan 04 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中文本操作的类
2007/03/17 PHP
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
php汉字转拼音的示例
2014/02/27 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
深入解析PHP中foreach语句控制数组循环的用法
2015/11/30 PHP
php实现的操作excel类详解
2016/01/15 PHP
javascript eval和JSON之间的联系
2009/12/31 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
jquery 取子节点及当前节点属性值的方法
2014/08/24 Javascript
jQuery多级弹出菜单插件ZoneMenu
2014/12/18 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
python 不关闭控制台的实现方法
2011/10/23 Python
Python高效编程技巧
2013/01/07 Python
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
python list转dict示例分享
2014/01/28 Python
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
Python中使用PDB库调试程序
2015/04/05 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
python对execl 处理操作代码
2020/06/22 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
Django实现随机图形验证码的示例
2020/10/15 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
伦敦一卡通:The London Pass
2018/11/30 全球购物
初中数学教学随笔
2015/08/15 职场文书