PHP实现对目录及其子目录进行改名(我注释的非常详细哦)

今天闲来无事写了个用PHP实现把目录以及子目录下的文件替换名称,事无巨细都加了注释哦~,对小白很友好,相信大家一定能看得懂,大哥们点个关注吧,嘻嘻!

<?php
header("Content-type: text/html; charset=utf-8");
//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称
function fRename($dirname){ //函数的入口,传入你要批量修改文件名称的目录
 if(!is_dir($dirname)){ //判断是不是一个目录
  echo "{$dirname}不是一个有效的目录!";
  exit();//不是目录就退出
 }
 $handle = opendir($dirname);//把这个目录打开,我理解这个函数的值应该是个类似句柄一样的东西
 $i = 1;
 while(($fn = readdir($handle))!==false){ //这层目录下的文件名字都保存到fn

  if($fn!='.'&&$fn!='..'){ //如果目录不是'.'或'..'
      echo "<br>将名为:".$fn."\n\r"; //输出个话,让结果看着清晰点
      $curDir = $dirname.'/'.$fn; //拼接一下目录,比如你原来传得$dirname是/home,/home下有个www,这个fn就是www,如果www是目录,就拼接,拼接后就是/home/www了,就是这个目录
   if(is_dir($curDir)){// 递归,当目录处理,返到最上一步,把一个大问题拆解成同一规律的小问题
      fRename($curDir);
   }else{
      $path = pathinfo($curDir);//获取目录路径以及相关信息
      //改成你自己想要的新名字
      $newname = $path['dirname'].'/'.$i.'.'.$path['extension'];//i是你的新名字,后面的$path['extension']补上文件的类型,比如你把哈哈.php要改名,$path['extension']就是后面的.php
      echo "替换成:".$i.'.'.$path['extension']."\r\n";
      rename($curDir,$newname);//改名字
      $i++;//我的例子是把目录以及子目录下的文件都按顺序改成1 2 3 4 ,这样的递增的名字,你们可以自己定义
   }
  }
 }
}
//给出一个目录名称可以是相对路径,也可以是绝对路径
fRename('img\Gastroenterology');//从这里给出你的文件目录开始函数调用
exit();
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值