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
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
Oct 31 PHP
php类中private属性继承问题分析
Nov 01 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
Jun 21 PHP
destoon首页调用求购供应信息的地区名称的方法
Aug 21 PHP
php中 $$str 中 &quot;$$&quot; 的详解
Jul 06 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
php二维码生成以及下载实现
Sep 28 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 PHP
php操作redis命令及代码实例大全
Nov 19 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中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
JavaScript 学习笔记(十一)
2010/01/19 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
一些Solaris面试题
2013/03/22 面试题
小学红领巾中秋节广播稿
2014/01/13 职场文书
教师节宣传方案
2014/05/23 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
教你怎么用Python生成九宫格照片
2021/05/20 Python