国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網站建設資訊詳細

PHP網站建設之去除文件bom頭信息

發(fā)表日期:2021-07-15 18:29:30   作者來源:方維網絡   瀏覽:1870   標簽:PHP網站建設    
BOM是用來判斷文本文件是哪一種Unicode編碼的標記,其本身是一個Unicode字符("\uFEFF"),位于文本文件頭部,BOM本來不影響代碼的解析,但是php除外,PHP會解析BOM,會輸出在頁面里,造成前端有占位發(fā)生布局位移,如果不了解的php BOM 就會對這個平白多出來的東西感到莫名其妙。
我們去掉網站php文件里的BOM信息呢
編輯器可以無保存bom文件,utf-8和utf-8 with bom ,要保存了bom文件 php會報錯  namespace 必須是第一行的代碼,現(xiàn)在是bom信息是第一行,雖然你看不到但是他就是在第一行
 

網站制作1

 
我們怎么樣通過代碼的形式批量的去掉文件的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信息

網站制作2

上面的截圖看是沒有發(fā)現(xiàn)帶有bom的文件的,有bom的文件 會出現(xiàn)字體加紅色。

網站制作3

去掉后訪問 網站訪問正常
 

網站制作4

如沒特殊注明,文章均為方維網絡原創(chuàng),轉載請注明來自http://pdcharm.com/news/6133.html
军事| 扎鲁特旗| 麻江县| 黄平县| 广丰县| 新宾| 鹤庆县| 房产| 甘洛县| 布尔津县| 蛟河市| 射洪县| 嘉义县| 靖州| 安义县| 安丘市| 东平县| 姜堰市| 淮阳县| 长汀县| 吉林省| 宿州市| 馆陶县| 咸阳市| 新兴县| 沂南县| 张家口市| 外汇| 乐陵市| 扎赉特旗| 会宁县| 博白县| 包头市| 惠水县| 淳安县| 华宁县| 瑞安市| 邓州市| 昭苏县| 五原县| 象州县|