首頁  >  文章  >  php框架  >  thinkphp怎麼去除 bom

thinkphp怎麼去除 bom

藏色散人
藏色散人原創
2022-12-05 11:11:121234瀏覽

thinkphp去除bom的方法:1、運行Editplus,點擊“工具”,選擇“首選項”,然後設定“UTF-8標識”;2、透過ultraedit開啟文件,在另存為選項的編碼格式裡選擇「utf-8無bom頭」;3、使用目錄下的「92wcms.php」程序去除bom即可。

thinkphp怎麼去除 bom

本教學操作環境:Windows7系統、ThinkPHP5版、Dell G3電腦。

thinkphp怎麼去除 bom?

thinkphp清除BOM方法  

#在utf-8編碼檔案中BOM在檔案頭部,佔用三個位元組,用來標示該檔案屬於utf-8編碼,現在已經有很多軟體識別bom頭,但是還有些不能識別bom頭,比如PHP就不能識別bom頭,這也是用記事本編輯utf-8編碼後執行就會出錯的原因了。 BOM只有在WINDOWS下採用「記事本」儲存為UTF-8時才會有,這個可以用WINHEX把開始的2個位元組刪掉。在dreamweaver裡面編碼設定裡面可以設定是否帶BOM,一般只要php輸出的不是圖片(GDI Stream),BOM都不會導致問題。

去掉bom頭的辦法,簡單的是下面兩種:

1、editplus去BOM頭的方法

編輯器調整為UTF8編碼格式後,儲存的文件前面會多出一串隱藏的字元(也即是BOM),用於編輯器辨識這個檔案是否是以UTF8編碼。運行Editplus,點選工具,選擇首選項,選中文件,UTF-8標識選擇 總是刪除簽名,然後對PHP文件編輯和保存後的PHP文件就是不帶BOM的了。

2、ultraedit去除bom頭辦法

開啟檔案後,另存為選項的編碼格式裡選擇(utf-8 無bom頭),確定就ok了。

對於PHP程式需要移除Bom頭的也可以使用目錄下的92wcms.php程式去除。

請用程式碼執行一次

<?php
if(isset($_GET[&#39;dir&#39;])){ //config the basedir
$basedir=$_GET[&#39;dir&#39;];
}else{
$basedir= &#39;.&#39;;
}
$auto= 1;
checkdir($basedir);
function checkdir($basedir){
if($dh= opendir($basedir)) {
while(($file= readdir($dh)) !== false) {
if($file!= &#39;.&#39;&& $file!= &#39;..&#39;){
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);
}
?>

推薦學習:《thinkPHP影片教學

以上是thinkphp怎麼去除 bom的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn