PHP 批量修改文件名/文件后缀名
今天我有几千个文件要一次修改文件或把后缀名给改了,但是我要手工一个个去改,不得改几天后来想到一个办法,利用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实例代码如下:
<?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即可.
永久链接:http://www.phprm.com/wenjian/fs3814.html
转载随意!带上文章地址吧。