ホームページ > バックエンド開発 > PHPチュートリアル > PHP を使用して UTF8 BOM 情報をファイルからバッチ削除する方法_PHP チュートリアル

PHP を使用して UTF8 BOM 情報をファイルからバッチ削除する方法_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:00:29
オリジナル
832 人が閲覧しました

原則:
UTF8 ファイルには識別情報を追加するために、BOM: BOM - バイト オーダー マークがあり、デフォルトでは、Windows およびその他のプラットフォームで編集された UTF8 ファイルはヘッダー セクション マークに 3 文字を追加します。 PHP ファイルのヘッダーに BOM 情報が含まれている場合、PHP エンジンは PHP コード ドキュメント全体を完全に読み取ります。これにより、多くの場合、Cookie が機能しなくなります。設定されるなどの問題があります。

解決策:
ヘッダーBOMの3バイト情報を認識し、それを削除します。ただし、一般に、どのファイルに BOM があるかがわからない、または現時点ではバッチ処理が必要であるため、次のコードは主にバッチ処理の状況を示しており、作業するすべての人に役立つはずです。

実行方法:
パスを設定して直接実行します。

コードをコピーします コードは次のとおりです:

// BOMをクリアするルートディレクトリを設定します(すべてのサブディレクトリとファイルが自動的にスキャンされます)
$HOME = dirname(__FILE__);
// Windows システムの場合は、次のように変更します: $WIN = 1;
$WIN = 0;
?>




UTF8 BOM クリーナー


$BOMBED = array();
RecursiveFolder($HOME);
echo '< ;h2>これらのファイルには UTF8 BOM がありましたが、クリーンアップしました:

';
foreach ($BOMBED as $utf) { echo $utf ."
n"; }
echo '

';
// 再帰スキャン
function RecursiveFolder($sHOME) {
global $BOMBED, $WIN;
$win32 = ($WIN == 1) ? " \" : "/";
$folder = dir($sHOME);
$foundfolders = array();
while ($file = $folder->read()) {
if($file != ". " and $file != " ..") {
if(filetype($sHOME . $win32 . $file) == "dir"){
$foundfolders[count($foundfolders)] = $sHOME . $win32 . $file;
} else {
$content = file_get_contents($sHOME . $win32 . $file);
$BOM = SearchBOM($content);
if ($BOM) {
$BOMBED[count($BOMBED)] = $sHOME . $file;
$file; }
}
$folder->close();
if(count($foundfolders) > 0) {
foreach ($foundfolders as $folder) {
RecursiveFolder($folder, $win32);
}
}
}
// 現在のファイルに BOM
関数があるかどうかを検索 SearchBOM($string) {
if(substr($string,0,3) == Pack ("CCC",0xef,0xbb,0xbf)) true を返す;
false を返す
}
?>








http://www.bkjia.com/PHPjc/328077.html
www.bkjia.comtru​​e

http://www.bkjia.com/PHPjc/328077.html技術記事原則: UTF8 ファイル、識別情報を追加するために、Microsoft には BOM (BOM - バイト オーダー マーク) があり、Windows およびその他のプラットフォームで編集された UTF8 ファイルにはデフォルトで... が追加されます。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート