美文网首页
php将文件批量转换成utf8

php将文件批量转换成utf8

作者: 呦丶耍脾气 | 来源:发表于2020-04-01 11:04 被阅读0次

    将不是utf-8的目录下文件,批量转换成utf-8

    <?php
    
    header('Content-type: text/html; charset=utf-8');
    
    // 配置PHP脚本内存使用上限
    ini_set('memory_limit', '1024M');
    
    // 配置文件所在的文件夹
    $path = './templates';
    // 获取文件夹下所有文件的URL
    $result = scanFile($path);
    
    // 循环处理所有文件的URL
    foreach ($result as $file)
    {
        // 读取文件的文本内容
        $content = file_get_contents($file);
    
        // 把文本内容的字符编码转成UTF-8
        $content = characet($content);
    
        // 把转后的文本内容写回文件中
        file_put_contents($file, $content);
    }
    
    echo '转换完成';
    
    function scanFile($path)
    {
        global $result;
        $files = scandir($path);
        foreach ($files as $file)
        {
            if ($file != '.' && $file != '..')
            {
                if (is_dir($path . '/' . $file))
                {
                    scanFile($path . '/' . $file);
                }
                else
                {
                    $result[] = $path . '/' . basename($file);
                }
            }
        }
        return $result;
    }
    
    function characet($data)
    {
        if (!empty($data))
        {
            $fileType = mb_detect_encoding($data, array('UTF-8', 'GBK', 'LATIN1', 'BIG5'));
            if ($fileType != 'UTF-8')
            {
                $data = mb_convert_encoding($data, 'utf-8', $fileType);
            }
        }
        return $data;
    }
    
    ?>
    

    相关文章

      网友评论

          本文标题:php将文件批量转换成utf8

          本文链接:https://www.haomeiwen.com/subject/qoeouhtx.html