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
转载随意!带上文章地址吧。