有這樣一個需求,改變當前目錄下指定類型的文件類型。本來想要用批處理來做這個,結果沒找到合適。就自己去查了下資料,用PHP來處理一下。不是很經常處理文件,所以對遍歷目錄還不是很熟悉,找了一下資料,自己修改一下。
代碼主要的目的是批量更改文件後綴.由於淘寶數據包圖片類型的不同,所以要改一下適合的。
<?php
//本文件和要改變的目錄下的文件 放在同一文件夾下
define("STA",".gif"); //原來的文件格式
define("END",".jpeg2000"); //要改變的格式
$dir="./";
$arr=allfile($dir);
foreach($arr as $t)
{
$t=str_replace(".//","",$t);
if(substr_count($t,STA)>0)
{
$f2=str_replace(STA,"",$t);
rename($t,$f2.END);
}
}
//獲取目錄下所有文件的函數
function allfile($dir)
{
$files=array();
if(is_file($dir))
{
return $dir;
}
$handle = opendir($dir);
if($handle)
{
while(false !== ($file = readdir($handle)))
{
if ($file != '.' && $file != '..')
{
$filename = $dir . "/" . $file;
if(is_file($filename))
{
$files[] = $filename;
}
else
{
$files = array_merge($files, allfile($filename));
}
}
} // end while
closedir($handle);
}
return $files;
}
?>