UTF-8文件BOM信息自動檢測和自動清除源碼
發(fā)布時間:2020-02-17 18:41:56 作者:佚名
我要評論

BOM信息是文件開頭的一串隱藏的字符,用于讓某些編輯器識別這是個UTF-8編碼的文件,也編輯器自動加上的這個會導致頁面頭部會出現(xiàn)一個空白行;如果是織夢的程序也會引起驗證碼不顯示等問題
BOM信息是文件開頭的一串隱藏的字符,用于讓某些編輯器識別這是個UTF-8編碼的文件。
特別是當你用記事本修改網(wǎng)頁文件或者PHP文件時,會產(chǎn)生BOM信息,通過審查元素會在body開頭處發(fā)現(xiàn)一個可見的控制符,導致頁面頭部會出現(xiàn)一個空白行;如果是織夢的程序也會引起驗證碼不顯示等問題。
BOM自動檢測和自動清除工具
https://pan.baidu.com/s/1tztJaZvrDpkZVz9vdHLSIg
源碼
<?php /** * bom.php * * @author dedehtml * @license http://www.dedehtml.com * @lastmodify 2018-10-10 * @description 這里代碼為PHP方式去除當前目錄及子目錄所有文件BOM信息,只要將此代碼文件放到根目錄下,然后瀏覽器運行訪問就可以了 * @demo http://www.dedehtml.com/bom.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.php文件放到網(wǎng)站根目錄
瀏覽器上打開 http://域名/bom.php
打開后等待幾十秒,讓文件執(zhí)行自動清楚文件的bom操作,有問題的文件會有紅色文字提示,文件會自動處理好。
執(zhí)行完后,刪除bom.php防止被別人利用,織夢的程序重新生成整站
還有一種情況是不是在body下面,而是在其他代碼下面的
那就要檢查當前模板代碼開始的地方是不是多寫了其他東西,把多余的東西刪除即可。
相關文章
- 這篇文章主要介紹了Fastadmin的安裝與使用方法,需要的朋友可以參考下2020-08-06
安裝FastAdmin時報1146 Table 'fastadmin.fa_admin' doesn't exist錯誤
有部分小伙伴在安裝FastAdmin時報以下錯誤,SQLSTATE[42S02]: Base table or view not found: 1146 Table 'fastadmin.fa_admin' doesn't exist2020-08-05- BOM信息是文件開頭的一串隱藏的字符,用于讓某些編輯器識別這是個UTF-8編碼的文件,也編輯器自動加上的這個會導致頁面頭部會出現(xiàn)一個空白行;如果是織夢的程序也會引起驗證2020-02-17
- 在本篇文章里小編給大家整理的是關于蘋果cms采集插件安裝的步驟和方法,有需要的朋友們可以學習下。2019-12-05
- 在本篇文章里小編給大家整理的是關于蘋果cms添加播放器的方法步驟,對此有需要的朋友們可以學習下。2019-12-05
- 在本篇文章里小編給大家分享的是關于蘋果cms更換logo的方法和步驟,有需要的朋友們可以學習參考下。2019-12-05
- 在本篇文章里小編給大家整理的是關于海洋cms電影源碼安裝步驟方法以及相關知識點,有興趣的朋友們學習下。2019-12-05
- 在本篇文章里小編給大家整理的是關于蘋果CMS自適應手模板設置方法,有需要的朋友們參考學習下。2019-12-05
- 在本篇文章里小編給大家整理的是關于蘋果海洋CMS自定義采集助手設置方法,有需要的朋友們學習下。2019-12-05
- 這篇文章主要為大家介紹了蘋果cms添加幻燈片的操作方法,步驟很簡單,有需要的朋友們跟著操作下。2019-12-02