PHP 批量修改文件名/文件后缀名(扩展名)

几个关键的函数。

is_dir($dirname)      //判断一个文件名是否 为目录
opendir($dirname)      //打开一个文件夹
readdir($dir_stream)   //函数返回由 opendir() 打开的目录句柄中的条目
pathinfo($path)        //函数以数组的形式返回文件路径的信息。
例如当前文件夹下的P1010436

例如当前文件夹下的P1010436.jpg文件路径信息数组:

Array
(
    [dirname] => .
    [basename] => P1010436.jpg
    [extension] => jpg
    [filename] => P1010436
)
rename(oldname,newname,context) //函数重命名文件或目录。若成功,则该函数返回 true。若失败,则返回 false。

 代码如下 复制代码

 

<?php
function fileRename($dir,$srcExtension,$desExtension){
 if(!is_dir($dir)){
  echo "{$dir}不是一个有效的目录!n";
  exit();  
  }
 $handler = opendir($dir);
 //列出$dir目录中的所有文件
 while(($fileName = readdir($handler))!=false){
  if($fileName!='.'&&$fileName!='..'){
   //'.' 和 '..'是分别指向当前目录和上级目录
   $curDir = $dir.'/'.$fileName;
   if(is_dir($curDir)){
    //如果是目录,则递归下去
    fileRename($curDir,$srcExtension,$desExtension);
    }
    else{
     //获取文件路径的信息
     $path = pathinfo($curDir);
     //print_r($path);
     if($path['extension']==$srcExtension){  
      $newname = $path['dirname'].'/'
      .$path['filename'].".".$desExtension;
      rename($curDir,$newname);   
      echo $curDir.'-->'.$newname."n";   
      }
     }
   }
  }
 }
fileRename(".","JPG","jpg");
?>

使用方法很简单,我们把图片与php文件同一目录然后再运行php即可。

时间: 2024-10-25 15:01:58

PHP 批量修改文件名/文件后缀名(扩展名)的相关文章

XP系统如何修改电脑文件后缀名?

  电脑常识   XP系统如何修改电脑文件后缀名? 1.在桌面上找到我的电脑. 2.然后打开我的电脑,找到 菜单栏→工具→文件夹选项. 3.打开文件夹选项,找到"查看"选项卡. 4.然后找到去掉"隐藏文件后缀名前面的"对号. 5.回到电脑桌面刷新下,你的文件后缀名就出现了.

Linux下批量修改文件名(rename)

原文地址: http://blog.csdn.net/sea_shore/article/details/6102437 1.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修改文件名, 不过rename实在太方便了 比如把所有的表为cdb1_* 修改为cdb_*的在本目录下只需要# rename 'cdb1' 'cdb' * 以前都是写个for循环来做...想想多傻啊, 呵呵 rename还有更多的功能, 建议man rename下 From:http://www.ha

如何批量修改文件名?

  通常我们使用手机或者相机拍摄了一堆照片拷贝到电脑之后,照片的命名通常都是随机混乱的,如果要规范文件命名,你是不是会去一个一个去修改文件名呢?其实完全不需要这么麻烦,今天小编就来教大家一个批量快速修改照片文件名和添加前缀方法,方法技巧如下. 如何批量修改文件名? 一.首先将所有照片文件放置在一个文件夹当中,然后同时按住键盘上的 Ctrl + A 组合快捷键选中所有照片文件,全部选中后,再按 F2 键进行批量重命名,并输入新名称,比如"极客青年"如下图. Ps.笔记本用户,如果遇到按F

Excel怎么批量修改文件名

  Excel怎么批量修改文件名?在使用电脑和网络进行写文章时,经常要从网上下载一些图片进行配图,而网络上的文件名千奇百怪,需要将图片文件按顺序编号.因此就需要批量修改文件名,下面就和大家一起分享这个方法. 第一步.在c盘建立一个文件夹,将下载的图片放置于该文件夹中,如下图所示. 第二步.鼠标左键点击,开始->运行->在对话框中输入字母"cmd",进入dos模式 ,如下图所示. 第三步.在dos模式输入命令行"cd c:pic"然后回车,再输入命令行&q

电脑如何批量修改文件名?

  通常我们使用手机或者相机拍摄了一堆照片拷贝到电脑之后,照片的命名通常都是随机混乱的,如果要规范文件命名,你是不是会去一个一个去修改文件名呢?其实完全不需要这么麻烦,今天电脑百事小编就来教大家一个批量快速修改照片文件名和添加前缀方法,方法技巧如下. 如何批量修改文件名? 一.首先将所有照片文件放置在一个文件夹当中,然后同时按住键盘上的 Ctrl + A 组合快捷键选中所有照片文件,全部选中后,再按 F2 键进行批量重命名,并输入新名称,比如"极客青年"如下图. Ps.笔记本用户,如果

php修改指定文件后缀的方法_php技巧

因项目需求,需要将asp后缀的修改成php,因懒于一个个修改.又觉得php跟Qt一样都是高级语言了,一般高级语言都有提供对获得的内容进行增删改查的函数.经过一番资料查找与代码测试,总结出了PHP修改指定文件后缀的方法,分享给大家. 目标:将当前目录下的asp后缀改成php,而不影响其它"后缀格式的文件",而且只是针对"当前文件夹",对当前文件夹内包含的文件夹的文件不进行修改. 具体功能代码如下: <?php function foreachDir($dirna

批处理实现批量修改文件名_DOS/BAT

我们已经会使用循环命令对大量文件改名进行批量处理.但总结一下,该批处理并不是很健壮. 判断一个程序的好坏,往往不是站在程序员的角度,而从用户的角度出发. 比如:在用户使用它的时候,如果输入了不正确的路径格式怎么办?如果输入了含有非法符号的前缀怎么办?输入的扩展名也有问题怎么办?改完名后看不到是否执行成功的反馈信息,等等.带着这些想法,我们将原程序再次修改一下. :::::::批量修改文件名.bat::::::: @echo off title 批量修改文件名 setlocal EnableDel

批量修改文件名的简单方法

今天遇到一个朋友问:如何批量修改文件名?原有文件名没有规则,比如员工号或者学籍号,修改后的文件名要求是姓名或者是身份证号.下面我们说一种较为简单的方法来解决批量修改文件名 的问题. 整体思路:我们要有一个原文件名和新文件名的对应关系,然后结合重命名命令ren 使用批处理 bat文件解决. 找一个实际案例为例稍稍详细的说明一下:假如我们要将原为员工号为名字的照片文件修改为身份证号为名字的照片文件. 第一步,我们应该从财务或者人事那里要到人员的信息对照表,实在没有,我们可以做一个,用excel来制作

Python 批量修改文件名的3种实现方法

例子一  代码如下 复制代码 python 批量修改文件名代码 view plaincopy to clipboardprint? #!/usr/bin/env python  #coding=utf-8  import os,os.path  import shutil,string  dir = C:\test for i in os.listdir(dir):      newfile = i.replace(.,_)      oldfullfile = dir \ i      new