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

本文介绍如何使用PHP编写一个程序,批量修改文件名或后缀名,大大提高了工作效率。通过is_dir(), opendir(), readdir(), pathinfo()和rename()等函数,实现对指定目录下所有文件的文件名和后缀的自动化修改。
摘要由CSDN通过智能技术生成

今天我有几千个文件要一次修改文件或把后缀名给改了,但是我要手工一个个去改,不得改几天后来想到一个办法,利用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。

 代码如下复制代码

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即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值