全站搜索

PHP网站建设之去除文件bom头信息

网站开发 425

BOM是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符(”\uFEFF”),位于文本文件头部,BOM本来不影响代码的解析,但是php除外,PHP会解析BOM,会输出在页面里,造成前端有占位发生布局位移,如果不了解的php BOM 就会对这个平白多出来的东西感到莫名其妙。

我们去掉网站php文件里的BOM信息呢

编辑器可以无保存bom文件,utf-8和utf-8 with bom ,要保存了bom文件 php会报错  namespace 必须是第一行的代码,现在是bom信息是第一行,虽然你看不到但是他就是在第一行

 

 

我们怎么样通过代码的形式批量的去掉文件的bom信息

在网站根目录下新建一个nobomb.php的文件,文件的代码为以下内容。主要解决模板多出空的内容、验证码不显示等问题。然后在浏览器直接访问运行nobom.php文件即可。

 

<?php

if (isset($_GET[‘dir’])) {

    $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);

}

运行上面的代码就可以清除文件的bom信息

上面的截图看是没有发现带有bom的文件的,有bom的文件 会出现字体加红色。

去掉后访问 网站访问正常

 

上一篇: 下一篇:

相关推荐

  • 怎样建设智慧社区综合管理系统?

    432

    1.1 系统的设计 1.1.1 系统总体设计1.1.2 网络拓扑图1.1.3 智慧社区网格化管理服务平台与现有及未来各管理系统关系图1.2 系统总体设计1.3 系统的技术实现 1.3.1 基于SOA技术架构1.3.2 遵循XML标准1.3.3 采用组件化的...

    查看全文
  • 「常用网站」2021年了,为什么还有人用共享IP?

    306

      对于标题这个问题,我们之前也谈过很多次了,独立ip相对于共享ip来讲,它的优势是非常的多,但是为什么我们在查一个网站的时候,这个ip上面会很多的网站呢?具体我们一起来看下吧!      事实上,独立IP和共享IP都有两面性。有时候站长朋友会认为搜...

    查看全文
  • 展会网站设计:如何提高展会网站的转化率?

    387

    策轩网络做过深圳会展中心,高交会、泰达会展、司法展等展会网站建设项目,对展会网站的设计制作稍微比较有经验,现在分享经验如下:  展会网站的一大目的就是鼓励用户注册,包括注册成为参展上和参会者。那么,展会网站在设计的时候,如何实现这一目的呢? ...

    查看全文
  • 公众号可“盖楼”?如何利用网站留言、公众号评论和电商评价?

    522

    小伙伴们,微信公众号留言可以“盖楼了”。 切不了小看这一消息。“留言盖楼”这一功能,甚至可以说——是互联网发展的一条隐线。猫扑等催生了互联网娱乐文化的产品,其核心功能之一就是“留言盖楼”;网易能够聚集大量铁粉,也是源于“盖楼”;留言评论是用户在电商平台购买...

    查看全文
展开更多