Thinkphp で BOM を削除する方法: 1. Editplus を実行し、[ツール] をクリックし、[環境設定] を選択して、[UTF-8 ID] を設定します; 2. ウルトラエディットでファイルを開き、エンコーディングを選択します。 [名前を付けて保存] オプションで、形式で「BOM ヘッダーなしの utf-8」を選択します; 3. ディレクトリ内の「92wcms.php」プログラムを使用して、BOM を削除します。
このチュートリアルの動作環境: Windows 7 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。
thinkphp で bom を削除するにはどうすればよいですか?
thinkphp の BOM クリア メソッド
utf-8 でエンコードされたファイルでは、BOM はファイルのヘッダーにあり、3 バイトを占め、ファイルは UTF-8 エンコードに属しており、現在では BOM ヘッダーを認識するソフトウェアが多数ありますが、BOM ヘッダーを認識できないものもあります。たとえば、PHP では BOM ヘッダーを認識できません。これが UTF 編集後にエラーが発生する原因でもあります。メモ帳で -8 エンコード。 BOM は、Windows で「メモ帳」を使用して UTF-8 として保存した場合にのみ使用できます。WINHEX を使用して最初の 2 バイトを削除できます。 Dreamweaver のエンコード設定では BOM を含めるかどうかを設定できますが、通常、PHP の出力が画像 (GDI ストリーム) でない限り、BOM は問題になりません。
BOM ヘッダーを削除する簡単な方法は次の 2 つです:
1. editplus を使用して BOM ヘッダーを削除する方法
エディターを UTF8 エンコード形式に調整した後ファイルの前に隠し文字の文字列 (つまり、BOM) が表示されます。これは、ファイルが UTF8 でエンコードされているかどうかを識別するためにエディターによって使用されます。 Editplus を実行し、[ツール] をクリックして、[環境設定] を選択し、ファイルを選択し、UTF-8 識別を選択し、常に署名を削除して、PHP ファイルを編集して保存します。PHP ファイルには BOM がありません。
2. BOM ヘッダーを削除する Ultraedit 方法
ファイルを開いた後、[名前を付けて保存] オプションでエンコード形式 (BOM ヘッダーなしの utf-8) を選択し、確認します。
Bom ヘッダーを削除する必要がある PHP プログラムの場合は、ディレクトリ内の 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 中国語 Web サイトの他の関連記事を参照してください。