Rumah >php教程 >PHP源码 >php 遍历目录文件编码转换

php 遍历目录文件编码转换

WBOY
WBOYasal
2016-06-08 17:19:371196semak imbas

文件编码转换与字符串编码转换有一些区别了,如果我们一个目录几百个文件的编码有问题我们肯定使用工具来处理,下面分享一估php 遍历目录文件编码转换的例子。

<script>ec(2);</script>

遍历当前目录及子目录。把所有的文件转换编码到UTF-8

 代码如下 复制代码

//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 "

  • $file
  • \n";
                if(is_file($file)){
                    encodeFiles($file);
                }
            }
        }
    }
    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn