Home  >  Article  >  php教程  >  PHP converts the encoding of all files in the folder

PHP converts the encoding of all files in the folder

大家讲道理
大家讲道理Original
2016-11-11 10:27:401478browse

The encoding of all files in the PHP conversion folder is suitable for publishing other encoding versions of the website. For example, if you have a GBK version and you want to have a UTF8 version, or you only have the source code of GBK and you want secondary development but you don’t want to change the encoding method of the IDE, you can Use this program to batch convert it to UTF8:

The code is as follows:

<?php
/**
 * 把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码
 * @param string $filename
 */
function iconv_file($filename,$input_encoding=&#39;gbk&#39;,$output_encoding=&#39;utf-8&#39;)
{
    if(file_exists($filename))
    {
        if(is_dir($filename))
        {
            foreach (glob("$filename/*") as $key=>$value)
            {
                iconv_file($value);
            }
        }
        else
        {
            $contents_before = file_get_contents($filename);
            /*$encoding = mb_detect_encoding($contents_before,array(&#39;CP936&#39;,&#39;ASCII&#39;,&#39;GBK&#39;,&#39;GB2312&#39;,&#39;UTF-8&#39;));
            echo $encoding;
            if($encoding==&#39;UTF-8&#39;)  mb_detect_encoding函数不工作
            {
                return;
            }*/
            $contents_after = iconv($input_encoding,$output_encoding,$contents_before);
            file_put_contents($filename, $contents_after);
        }
    }
    else
    {
        echo &#39;参数错误&#39;;
        return false;
    }
}
iconv_file(&#39;./test&#39;);
?>


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