国产成人艳妇aa视频在线-国产99精品久久久久久-国产又粗又猛又黄的av粉嫩av-非洲老熟妇一区二区三区久久久

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

PHP網(wǎng)站建設(shè)之去除文件bom頭信息

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

網(wǎng)站制作1

 
我們?cè)趺礃油ㄟ^(guò)代碼的形式批量的去掉文件的bom信息
在網(wǎng)站根目錄下新建一個(gè)nobomb.php的文件,文件的代碼為以下內(nèi)容。主要解決模板多出空的內(nèi)容、驗(yàn)證碼不顯示等問(wèn)題。然后在瀏覽器直接訪問(wèn)運(yùn)行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);
}
運(yùn)行上面的代碼就可以清除文件的bom信息

網(wǎng)站制作2

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

網(wǎng)站制作3

去掉后訪問(wèn) 網(wǎng)站訪問(wèn)正常
 

網(wǎng)站制作4

如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://www.sr53.cn/news/6133.html