ホームページ > PHPフレームワーク > ThinkPHP > thinkphpでbomを削除する方法

thinkphpでbomを削除する方法

藏色散人
リリース: 2022-12-05 11:11:12
オリジナル
1269 人が閲覧しました

Thinkphp で BOM を削除する方法: 1. Editplus を実行し、[ツール] をクリックし、[環境設定] を選択して、[UTF-8 ID] を設定します; 2. ウルトラエディットでファイルを開き、エンコーディングを選択します。 [名前を付けて保存] オプションで、形式で「BOM ヘッダーなしの utf-8」を選択します; 3. ディレクトリ内の「92wcms.php」プログラムを使用して、BOM を削除します。

thinkphpで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[&#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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート