PHP 批量修改文件名/文件后缀名
今天我有几千个文件要一次修改文件或把后缀名给改了,但是我要手工一个个去改,不得改几天后来想到一个办法,利用php写一个量修改文件名/文件后缀名程序,一下就实现了,下面来看看方法.
几个关键的函数:
is_dir($dirname) //判断一个文件名是否 为目录
opendir($dirname) //打开一个文件夹
readdir($dir_stream) //函数返回由 opendir() 打开的目录句柄中的条目
pathinfo($path) //函数以数组的形式返回文件路径的信息。
例如当前文件夹下的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即可.
查看更多关于PHP 批量修改文件名/文件后缀名 - php文件操作的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did27816