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 相关文章推荐
不用iconv库的gb2312与utf-8的互换函数
Oct 09 PHP
PHP的开合式多级菜单程序
Oct 09 PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
Jun 14 PHP
实现php加速的eAccelerator dll支持文件打包下载
Sep 30 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
php把session写入数据库示例
Feb 26 PHP
php中stream(流)的用法
Mar 25 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
PHP简单遍历对象示例
Sep 28 PHP
PHP一致性hash分布式算法封装类定义与用法示例
Aug 04 PHP
通过实例解析PHP数据类型转换方法
Jul 11 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实现的树形结构数据存取类实例
2014/11/29 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
php微信开发之关注事件
2018/06/14 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
深入理解js中this的用法
2016/05/28 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
4s店机修工岗位职责
2013/12/20 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
2015年大学生工作总结
2015/04/21 职场文书
母亲节主题班会
2015/08/14 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
创业计划书之酒店
2019/08/30 职场文书
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android