php 遍历目录批量转换文件编码
清泛原创
遍历当前目录及子目录。把所有的文件编码转换为UTF-8,代码如下:
php">< ?php
//php iconv.php
//exec it on root dir
$path = dirname(__FILE__);
tree($path);
function encodeFiles($fileName)
{
// echo $fileName;
if (file_exists($fileName)) {
// Read in the contents
$res = file_get_contents($fileName);
$i = pathinfo($fileName);
if(!in_array($i['extension'],array('js','css','php','html','htm'))){
return ;
}
// Just display on the screen the file being modified
echo $fileName . "---form---";
// Convert the contents
echo $encode = mb_detect_encoding($res, array("ASCII", "UTF-8", "GB2312", "GBK"));
echo "---to---UTF-8!\n";
$res = iconv($encode, "UTF-8", $res);
// Write back out to the same file
file_put_contents($fileName, $res);
} //
}
function tree($directory)
{
$mydir = dir($directory);
while ($file = $mydir->read()) {
if ((is_dir("$directory/$file")) AND ($file != ".") AND ($file != "..")) {
tree("$directory/$file");
} else {
$file ="$directory/$file";
// echo "<li>$file</li>\n";
if(is_file($file)){
encodeFiles($file);
}
}
}
}