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

php 遍历目录文件编码转换

WBOY
WBOYOriginal
2016-06-08 17:19:371200browse

文件编码转换与字符串编码转换有一些区别了,如果我们一个目录几百个文件的编码有问题我们肯定使用工具来处理,下面分享一估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);
                }
            }
        }
    }
    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn