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

php 遍历目录文件编码转换

WBOY
Freigeben: 2016-06-08 17:19:37
Original
1196 Leute haben es durchsucht

文件编码转换与字符串编码转换有一些区别了,如果我们一个目录几百个文件的编码有问题我们肯定使用工具来处理,下面分享一估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);
                }
            }
        }
    }
    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Empfehlungen
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage