当前位置: 首页 > 编程笔记 >

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

谭晓博
2023-03-14
本文向大家介绍PHP批量修改文件名称的方法分析,包括了PHP批量修改文件名称的方法分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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(零),会导致程序意外终止;

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

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

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

在程序的17行中,使用了PHP的随机数函数rand,这是个基本的随机函数,其他随机函数请参看本站手册http://shouce.jb51.net/php5/。

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

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

 类似资料:
  • 本文向大家介绍php实现批量修改文件名称的方法,包括了php实现批量修改文件名称的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现批量修改文件名称的方法。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《php正则表达式用法总结》、《php操作office文档技巧总结(包括word,excel,access,ppt)

  • 本文向大家介绍PHP实现批量修改文件后缀名的方法,包括了PHP实现批量修改文件后缀名的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现批量修改文件后缀名的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍Java实现批量修改txt文件名称的方法示例,包括了Java实现批量修改txt文件名称的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java实现批量修改txt文件名称的方法。分享给大家供大家参考,具体如下: 最近在做特征选择的实验时,需要批量修改一下文件名称,在这里做一下记录。 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇

  • 本文向大家介绍bat批处理批量修改文件扩展名的方法,包括了bat批处理批量修改文件扩展名的方法的使用技巧和注意事项,需要的朋友参考一下 有的时候我们可能会遇到,在一个文件夹内有很多个文件,我们需要修改这些文件的扩展名,当然我们可以一个一个的修改,可是如果有很多文件,那就很麻烦了,所以今天就教大家批量修改文件扩展名的方法,希望大家能够灵活运用。 这里假设你要把扩展名为.gif的文件都改成.jpg格式

  • 本文向大家介绍python批量修改文件名的示例,包括了python批量修改文件名的示例的使用技巧和注意事项,需要的朋友参考一下 今天中午看了一集动漫《进击的巨人》,看完后发现这些视频的名称有点乱,于是编程来批量重命名。 重命名之前的各名称格式为——飞极速【www.feijisu.com】[16][720P][CHS-JAP] AVC.mp4,可以看到这个中间是有集数的,因此可以使用正则表达式提取,

  • 本文向大家介绍Python批量修改文本文件内容的方法,包括了Python批量修改文本文件内容的方法的使用技巧和注意事项,需要的朋友参考一下 Python批量替换文件内容,支持嵌套文件夹 关于本文给大家介绍的Python批量修改文本文件内容的方法,大家都看懂了,如果大家有疑问欢迎给我留言,小编会及时给大家回复的!