thinkphp去除bom的方法:1、運行Editplus,點擊“工具”,選擇“首選項”,然後設定“UTF-8標識”;2、透過ultraedit開啟文件,在另存為選項的編碼格式裡選擇「utf-8無bom頭」;3、使用目錄下的「92wcms.php」程序去除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['dir'])){ //config the basedir $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); } ?>
推薦學習:《thinkPHP影片教學》
以上是thinkphp怎麼去除 bom的詳細內容。更多資訊請關注PHP中文網其他相關文章!