php逐行读写文件(PHP实现读取文件夹及批量重命名文件操作示例)
类别:编程学习 浏览量:1189
时间:2022-03-29 15:11:41 php逐行读写文件
PHP实现读取文件夹及批量重命名文件操作示例本文实例讲述了php实现读取文件夹及批量重命名文件操作。分享给大家供大家参考,具体如下:
以读取从网上下载的评书解压后的文件夹为例,并批量重命名
文件夹内容如下,现在使用php读取这个文件夹里面的文件,并批量重命名为"隋唐演义+序号.mp3"的格式:
|
<?php $dir1 = './dir1/' ; //读取文件夹名称 (重命名为dir1避免中文报错,移动到与要执行的php文件同级目录) $filearr = scandir( $dir1 ); //读取文件夹 print_r( $filearr ); |
进一步操作,对获得的文件数组做一些处理:
|
<?php $dir1 = './dir1/' ; //读取文件夹名称(避免使用中文) $filearr = scandir( $dir1 ); //读取文件夹 unset( $filearr [0]); //去除多余的元素 unset( $filearr [1]); $filearr = array_values ( $filearr ); //使数组从0开始,以1递增 print_r( $filearr ); |
现在对文件数组循环,重命名文件,并移动到文件夹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 $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程序设计有所帮助。
原文链接:https://blog.csdn.net/msllws/article/details/80956843
您可能感兴趣
- phpstudy的默认网站根目录是什么(phpstudy v8.0创建本地站点域名教程图文)
- thinkphp框架案例(thinkphp5.1框架容器与依赖注入实例分析)
- php数据库怎么获得表单(php如何把表单内容提交到数据库)
- php支付接口(PHP实现的支付宝支付功能示例)
- phplaravel怎么优化(laravel执行php artisan migrate报错的解决方法)
- php数组是怎么实现的(PHP里的$_GET数组介绍)
- php连接数据库拒绝使用域名(访问php时提示内存位置访问无效的解决办法和思路分析)
- 宝塔linux面板php7.0安装不上(宝塔面板php.ini文件在哪里找)
- 宝塔面板phpMyAdmin错误教程(宝塔面板phpMyAdmin报错502 Bad Gateway nginx解决方法)
- mac版本php环境搭建(在Mac OS X中配置Apache+PHP+MySQL运行环境的详细步骤)
- php7 入门(php7新特性的理解和比较总结)
- php启用curl(php使用curl伪造浏览器访问操作示例)
- php redis配置(php+redis实现消息队列功能示例)
- phpstudy配置教程(phpStudy2018安装教程及本地服务器的配置方法)
- php 大文件切片(PHP大文件切割上传功能实例分析)
- php 数据库查询并写入(PHP实现单条sql执行多个数据的insert语句方法)
- 吐槽完《弧光大作战》之后,我们和设计师聊了聊魔兽首款手游的立项初衷和未来(吐槽完弧光大作战之后)
- 魔兽争霸3自定义战役少年杰雷 2(魔兽争霸3自定义战役少年杰雷)
- 今日菜价 芥兰涨幅最高 1.33 ,花菜降幅最高 3.10(今日菜价芥兰涨幅最高)
- 今日菜价 椰菜涨幅最高 3.25 ,水空心菜降幅最高 2.58(今日菜价椰菜涨幅最高)
- 今日菜价 红三鱼涨幅最高 4.41 ,黄鳝降幅最高 5.06(红三鱼涨幅最高)
- 今日菜价 西生菜涨幅最高 6.19 ,生菜降幅最高 5.38(西生菜涨幅最高)
热门推荐
- python操作redis(Python获取Redis所有Key以及内容的方法)
- vue路由跳转的方法(Vue路由监听实现同页面动态加载的示例)
- 单元格内容过多超出怎么办(单元格内文本显示超过单元格宽度的快速解决办法)
- 搭建好的ftp服务器在哪里(如何在自己的电脑上搭建FTP服务器?)
- 织梦栏目怎么管理(织梦“模块管理”里面的“模块列表”显示空白的解决方法)
- react和antd项目教程(React引入antd-mobile+postcss搭建移动端)
- sqlserver 添加分区(SQL Server 数据库分区分表水平分表详细步骤)
- 小程序ui图与移动ui(AmazeUI 缩略图的实现示例)
- 虚拟主机服务器和云主机的区别(选择独享IP虚拟主机的好处有哪些?)
- javascript学习参数(详解JavaScript堆栈与拷贝)