| 本文介紹下,在php中去除bom頭的執行個體代碼,bom在檔案頭部,佔用三個位元組,有時需要去除這些資訊。本文給出的樣本,大家可以作個參考。 去除bom頭的php代碼,如下: ";}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 ("BOM found, automatically removed._csdn.net");} else {return ("BOM found.");}}else return ("BOM Not Found.");}function rewrite ($filename, $data) {$filenum = fopen($filename, "w");flock($filenum, LOCK_EX);fwrite($filenum, $data);fclose($filenum);}?>附,bom頭資訊說明。在utf-8編碼檔案中BOM在檔案頭部,佔用三個位元組,用來標示該檔案屬於utf-8編碼。 PHP不能識別bom頭,用記事本編輯utf-8編碼後執行會出錯。 去掉bom頭,可以這樣:1、editplus去BOM頭的方法編輯器調整為UTF8編碼格式後,儲存的檔案前面會多出一串隱藏的字元(也即是BOM),用於編輯器識別這個檔案是否是以UTF8編碼。 運行Editplus,點擊工具,選擇喜好設定,選中檔案,UTF-8標識選擇 總是刪除簽名,然後對PHP檔案編輯和儲存後的PHP檔案就是不帶BOM的了。 2、ultraedit去除bom頭辦法開啟檔案後,另存新檔選項的編碼格式裡選擇(utf-8 無bom頭),確即可。 3、專門寫的去除檔案BOM頭的程式,現在公布出來,可以放在項目根目錄,然後運行。 |