`
wxw850227
  • 浏览: 68658 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

去掉utf8 bom

    博客分类:
  • php
阅读更多
<?php
if (isset($_GET['dir'])){ //config the basedir
    $basedir=$_GET['dir'];
}else{
    $basedir = '.';
}

$auto = 1;

checkdir($basedir);

function checkdir($basedir){
    if ($dh = opendir($basedir)) {
        while (($file = readdir($dh)) !== false) {
            if ($file != '.' && $file != '..'){
                if (!is_dir($basedir."/".$file)) {
                    echo "filename: $basedir/$file".checkBOM("$basedir/$file")."<br>";
                }else{
                    $dirname = $basedir."/".$file;
                    checkdir($dirname);
                }
            }
        }
    closedir($dh);
    }
}

function checkBOM ($filename) {
    global $auto;
    $contents = file_get_contents($filename);
    $charset[1] = substr($contents, 0, 1);
    $charset[2] = substr($contents, 1, 1);
    $charset[3] = substr($contents, 2, 1);
    if (ord($charset[1]) == 239 && ord($charset[2]) == 187 &&ord($charset[3]) == 191) {
        if ($auto == 1) {
            $rest = substr($contents, 3);
            rewrite ($filename, $rest);
            return ("<font color=red>BOM found,automatically removed.</font>");
        } else {
            return ("<font color=red>BOM found.</font>");
        }
    }
    else return ("BOM Not Found.");
}

function rewrite ($filename, $data) {
    $filenum = fopen($filename, "w");
    flock($filenum, LOCK_EX);
    fwrite($filenum, $data);
    fclose($filenum);
}
?>
分享到:
评论

相关推荐

    批量去除utf-8的bom头(php版)

    UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。 Windows就是使用BOM来...

    UTF-8文件去除BOM头小工具

    去除bom头小工具,工具使用方法: 选择要遍历的文件夹,输入...勾选ANSI转为UTF-8,则会将相应格式但编码为GB2312,GBK,GB18030的文件转为无BOM的UTF-8文件 请确保文件可写!使用前请做好备份,作者不承担任何法律责任

    UTF-8 批量检测BOM工具/小软件 utf8 BOM批量检测/检查清除

    然后用 GB2UTF81.exe 这个工具批量去掉BOM(源文件格式选 utf8,目标文件也选utf8,去掉 带BOM 的勾,不保留备份,再点 开始处理 即可)。然后把目录复制,覆盖原来的目录文件即可。 注意: 本工具暂时还不支持清除...

    Android-清除utf8bom的IntellijIDEA插件

    清除utf8 bom的Intellij IDEA插件

    utf-8 去除bom头文件

    utf-8,去bom头文件gfgadsfdsa

    UTF-8文件批量去除BOM标记

    UTF-8文件批量去除BOM标记,不用再一个一个的删除bom标记了。

    批量去掉UTF-8文件中BOM标示符

    NULL 博文链接:https://itsoul.iteye.com/blog/1488513

    Go-utfbom检测BOM并根据需要移除

    utfbom 检测BOM并根据需要移除

    UTF-8文件BOM标记批量删除工具.rar

    本工具用于批量去除UTF-8中的BOM标记,批量操作非常省时省力,再不用一个个文件去删除了默认类型为php|html|js|css,多类型可使用|分隔符进行分隔,支持将ANSI文件转为UTF8,建议在去除BOM文件头时,请先做好备份。

    java去除文件头bom信息

    去除文件中的BOM头信息. 一些文档工具可以打开再保存为无bom格式,但文件太多就很费力,此工具类可以直接运行,直接输入你要修改的文件夹路径即可,可自由调整文件夹深度,进行子级文件夹读取

    VS201X去除UTF-8控制符BOM插件

    VS201X编辑UTF-8编码的HTML文件时,总会在头部添加0xEF, 0xBB, 0xBF 三字节的BOM符,影响了HTML的正常解析,可以使用Fix File Encoding插件将其去除。

    去除BOM头小工具.rar

    能够批量对文件夹下的代码文件去除UTF-8 BOM头,还能对ASNI文件批量转换为UTF-8

    unbom:从文本文件中批量删除 UTF-8 BOM 标记

    拆箱从文件中删除 UTF-8 BOM 标记的工具。为什么UTF-8 BOM 在常见情况下有问题且无用。 许多工具不支持 BOM 标记; 例如命令行差异工具。 支持 UTF-8 的工具,无论如何都支持它而无需标记。 除了使我们的差异输出令...

    去除BOM头小工具

    utf-8的文件有bom和无bom的保存形式,有些情况下可能需要去掉bom,就是文件开头的;软件通过BOM来识别这个文件是否是UTF-8编码,很多软件还要求读入的文件必须带BOM。可 是,还是有很多软件不能识别BOM

    什么是BOM头?如何去除文件中的BOM头

    什么是BOM头?如何去除文件中的BOM头 删除文件中的BOM头,使文件变成正常的UTF8文件

    去除BOM文件头工具

    去除BOM头小工具-批量转换utf-8;eclipse项目导入到idea时,可以批量去除bom

    批量去掉BOM工具(php源码)

    批量去除文件夹下所有文本文件的bom,解决 stray '\357' in program stray '\273' in program stray '\277' in program 的问题。解决网络传输传递BOM头的问题,不再会有EF BB BF字符了。

    sqlite3.c 去注释版 (sqlite 3.6.6.2) - 已移除 UTF-8 BOM

    解决不能在VC6/VC2005下跟踪调试sqlite3.c的问题,详见:http://blog.csdn.net/liigo/archive/2008/12/10/3492094.aspx。 去除了前一次上传的资源中的UTF-8的BOM,可以在VC6中直接使用。

    如何使用PHP批量去除文件UTF8 BOM信息

    如果PHP文件头部包含BOM信息,就会输出一个空白,在很多时候会带来问题,比如我们session无法工作、cookie无法设置等等问题

Global site tag (gtag.js) - Google Analytics