• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP批量修改文件名称的方法

php 搞代码 3年前 (2022-01-22) 13次浏览 已收录 0个评论

本文实例讲述了PHP批量修改文件名称的方法。分享给大家供大家参考,具体如下:

在这里我们利用一个战地自己写的一个例子来具体分析一下利用PHP批量修改文件名称的思路和注意事项。

从这个例子里你将会看到,PHP如何判断一个路径是不是目录,如何用PHP取得路径中的文件名称和文件的扩展名,随机函数rand的基本应用,以及这个程序的核心内容递归函数的基本应用

程序功能:利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称;

首先判断用户给出的目录是不是一个合法目录;

我们这里只是修改狭义的文件名称(不包括目录),所以在程序中一定要判断是不是目录,如果是目录我们就打开这个目录——从而实现遍历目录下的所有文件。如果不是我们就用一个随机的名称修改原来的文件名(用随机数做名称其实不科学,但是这不是我们的重点)。

具体的程序如下:

<?php//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称function fRename($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(零来&源gao@dai!ma.com搞$代^码%网搞gaodaima代码),会导致程序意外终止;

第12行,如果读取的文件是一个目录,就在此调用函数本身,实现函数的递归;

注意第16行pathinfo函数的用法,这个函数返回一个拥有三个元素的数组三个元素分别是:

Dirname路径的目录名称,basename路径包含的文件名称 和 extension文件的扩展名,具体这个函数的用法请参看手册相关部分。

在程序的17行中,使用了PHP的随机数函数rand,这是个基本的随机函数

注意事项:一定要判断用PHP 的readdir函数读取的文件名称是不是”.”和”..”这很重要,为什么?你可以试试看呢!

更多PHP批量修改文件名称的方法相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP批量修改文件名称的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址