本文实例讲述了PHP批量修改文件名称的方法。分享给大家供大家参考,具体如下:
在这里我们利用一个战地自己写的一个例子来具体分析一下利用PHP批量修改文件名称的思路和注意事项。
从这个例子里你将会看到,PHP如何判断一个路径是不是目录,如何用PHP取得路径中的文件名称和文件的扩展名,随机函数rand的基本应用,以及这个程序的核心内容递归函数的基本应用。
程序功能:利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称;
首先判断用户给出的目录是不是一个合法目录;
我们这里只是修改狭义的文件名称(不包括目录),所以在程序中一定要判断是不是目录,如果是目录我们就打开这个目录——从而实现遍历目录下的所有文件。如果不是我们就用一个随机的名称修改原来的文件名(用随机数做名称其实不科学,但是这不是我们的重点)。
具体的程序如下:
| 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
 
								25
 
								26
						 | <?php//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称functionfRename($dirname){if(!is_dir($dirname)){echo"{$dirname}不是一个有效的目录!";exit();}$handle= opendir($dirname);while(($fn= readdir($handle))!==false){if($fn!='.'&&$fn!='..'){$curDir= $dirname.'/'.$fn;if(is_dir($curDir)){fRename($curDir);}else{$path= pathinfo($curDir);$newname= $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];rename($curDir,$newname);echo$curDir.'---'.$newname."<br>";}}}}//给出一个目录名称调用函数fRename('pl');?> | 
程序分析:
第4行我们用is_dir函数来判断用户给出的目录是不是一个有效的目录名称;因为我们是学习所以写的简单一点如果你要放在服务器上供大家使用的话,你一定要谨慎的验证这个输入数据——例如,这个目录是否允许用户修改等等……
注意函数第9行的判断,必须用全等判断(PHP全等符号===三个等号,不全等!==一个叹号两个等号),否则如果有一个文件名称为0(零),会导致程序意外终止;
第12行,如果读取的文件是一个目录,就在此调用函数本身,实现函数的递归;
注意第16行pathinfo函数的用法,这个函数返回一个拥有三个元素的数组三个元素分别是:
Dirname路径的目录名称,basename路径包含的文件名称 和 extension文件的扩展名,具体这个函数的用法请参看手册相关部分。
在程序的17行中,使用了PHP的随机数函数rand,这是个基本的随机函数。
注意事项:一定要判断用PHP 的readdir函数读取的文件名称是不是”.”和”..”这很重要,为什么?你可以试试看呢!
希望本文所述对大家PHP程序设计有所帮助。
相关文章
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
- 
            2025-05-25 67
- 
            2025-05-27 18
- 
            2025-05-26 66
- 
            2025-05-25 32
- 
            2025-05-25 52
 
        
 
    		 
            	 
															 
         
         
        
 
                         
                        