课程咨询 :18300268127 QQ:2720475033

保险

  • PHP查找带BOM标签的文件,并且去掉BOM标签

    发布:青岛php培训      来源:青岛php培训      时间:2016-08-02

  • 青岛php培训小编认为在一个很庞大的项目的时候,我们很难发现到底哪个文件才是包含BOM标签的文件,如果我们手动去打开每一个文件去检查,那将会耗掉我们大量的时间,而且很麻烦,我们可以直接通过PHP程序就可以轻松查找出当前项目或者目录下的所有文件,是否包含这BOM标签。

    代码如下:

    //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除

    //By Bob Shen

    $basedir="."; //修改此行为需要检测的目录,点表示当前目录

    $auto=1; //是否自动移除发现的BOM信息。1为是,0为否。

    //以下不用改动

    if ($dh = opendir($basedir)) {

    while (($file = readdir($dh)) !== false) {

    if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) echo "filename: $file ".checkBOM("$basedir/$file")."

    ";

    }

    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 ("BOM found, automatically removed.");

    } else {

    return ("BOM found.");

    }

    }

    else return ("BOM Not Found.");

    }

    function rewrite ($filename, $data) {

    $filenum=fopen($filename,"w");

    flock($filenum,LOCK_EX);

    fwrite($filenum,$data);

    fclose($filenum);

    }

    其实这些代码也是本人在网上查找分享出来的,由于这段时间比较忙,所以也没有时间去优化一下代码,目前只能检查当前目录下带有BOM标签的文件,你们也可以自己增加一下功能,如

    自动检测当前项目下的子目录的所有文件。

    青岛php培训小编认为也可以改为可以选择某一个目录下的文件

上一篇:PHP删除目录及目录下所有文件或删除指定文件

下一篇:PHP验证日常格式_邮箱验证

最新开班日期  |  更多

PHP高级开发工程师优选班

PHP高级开发工程师优选班

开班日期:11月30日

PHP高级开发工程师定制班

PHP高级开发工程师定制班

开班日期:11月30日

PHP高级开发工程师就业班

PHP高级开发工程师就业班

开班日期:11月30日

PHP高级开发工程师周末班

PHP高级开发工程师周末班

开班日期:11月30日

 扫一扫,关注一下! 青岛:市南区金坛路17号 济南:历下区趵突泉北路三联商社
济南:历下区山大路47号数码港大厦 潍坊:奎文区东风东街299号建行大厦
烟台:海港路25号阳光100城市广场 临沂:兰山区红旗路1号苏宁易购
淄博:张店区金晶大道68号华润大厦 济宁:市中区太白路10号苏宁生活广场
课程培训电话:18300268127 全国服务监督电话:400-111-8989    服务邮箱 tousu@tedu.cn

2001-2017 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56

达内教育

有位老师想和您聊一聊