PHP BOMを削除する方法

Dec 08, 2021 am 10:17 AM
bom

php bom を削除する方法: 1. PHP ルート ディレクトリを見つけます; 2. 「function checkBOM($filename){...}」およびその他のコードをルート ディレクトリに配置し、ブラウザからアクセスできます。

PHP BOMを削除する方法

#この記事の動作環境: Windows 7 システム、PHP バージョン 7.4、Dell G3 コンピューター。

php bom を削除するにはどうすればよいですか?

PHP で BOM を削除する簡単な方法

/* 
 +------------------------------------------------------------------------------------------- 
 + Title        : 去掉BOM头方法 
 + Author       : hello_sgw 
 + Version      : V1.0.0.1 
 + Initial-Time : 2017-08-12 15:18
 + Last-time    : 2017-08-12 16:01
 + Desc         : 
 +------------------------------------------------------------------------------------------- 
*/
ログイン後にコピー

インターフェイスを呼び出したところ、相手が提供したカプセル化方法を使用したため、一連の出力時にエラーが表示され続けました最終的に可能性を考えたのですが、相手が提示した方法にはコーディング上の問題(BOMヘッダー付き)が含まれていたため、BOMを検出してBOMを削除して新しいファイルを再生成できる方法をネットで探しました。データは正常に表示できます。

BOM ヘッダーとは何ですか?

BOM -- バイト オーダー マーク、中国語の名前は「バイト オーダー マーク」として翻訳されます。utf-8 でエンコードされたファイルでは、BOM はファイルの先頭にあり、最後まで 3 バイトを占めます。ファイルにマークを付けます。utf-8 エンコードに属します。

現在、BOM ヘッダーを認識するソフトウェアは数多くありますが、BOM ヘッダーを認識できないものもあります。たとえば、PHP は BOM ヘッダーを認識できません。これは、メモ帳で UTF-8 エンコーディングを編集した後にも実行されます。

解決策:

# 这里代码为PHP方式去除当前目录及字目录所有文件BOM信息,只要将此代码文件放到根目录下,然后浏览器运行访问就可以了
<?php
if (isset($_GET[&#39;dir&#39;])) { //设置文件目录 
  $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=&#39;red&#39;>BOM found, automatically removed.</font>");
    } else {
      return ("<font color=&#39;red&#39;>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);
}
ログイン後にコピー

推奨学習: 「PHP ビデオ チュートリアル

以上がPHP BOMを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

dom オブジェクトと bom オブジェクトとは何ですか? dom オブジェクトと bom オブジェクトとは何ですか? Nov 13, 2023 am 10:52 AM

DOM オブジェクトは「ドキュメント」、「要素」、「ノード」、「イベント」、「ウィンドウ」の 5 つ、2.「ウィンドウ」、「ナビゲーター」、「場所」、「履歴」、「画面」、その他 5 つです。 BOM オブジェクト。

ボムとドムの違いは何ですか ボムとドムの違いは何ですか Nov 13, 2023 pm 03:23 PM

BOM と DOM は、役割と機能、JavaScript との関係、相互依存性、さまざまなブラウザーの互換性、セキュリティ上の考慮事項の点で異なります。詳細な紹介: 1. 役割と機能: BOM の主な機能はブラウザ ウィンドウを操作することであり、ブラウザ ウィンドウへの直接アクセスと制御を提供しますが、DOM の主な機能は Web ドキュメントをオブジェクト ツリーに変換し、開発者は、このオブジェクト ツリーを使用して Web ページの要素やコンテンツを取得および変更します。 2. JavaScript などとの関係

PHP bom の意味と機能を調べる PHP bom の意味と機能を調べる Mar 10, 2024 pm 10:45 PM

PHPbom の意味と機能 PHP プログラミングにおいて、BOM (ByteOrderMark) は、ファイルのエンコード方式とバイト順序を識別するために使用される特殊な文字列です。通常、BOM はファイルの先頭に挿入され、特に UTF-8 などの ASCII エンコードで始まらない一部のエンコード形式の場合、パーサーがエンコードを識別できるようにします。 BOM には、さまざまなエンコード形式でさまざまな機能があります。以下では、PHP における BOM の意味と機能を具体的に調べ、コード例と組み合わせて追加します。

dom と bom は何を実現しますか? dom と bom は何を実現しますか? Nov 20, 2023 pm 02:28 PM

DOM は Web ページ コンテンツへの動的なアクセスと更新を可能にし、BOM はブラウザの動作の制御やブラウザとユーザー環境に関する情報の取得など、ブラウザ ウィンドウと対話するための API を提供します。DOM は主に Web ページ コンテンツの操作に使用され、BOM は主に使用されますブラウザ ウィンドウの操作とブラウザとの対話。この 2 つは共に Web フロントエンド開発の重要な基盤を形成し、開発者に Web ページとブラウザを制御および操作して強力な対話性と優れたユーザー エクスペリエンスを備えた Web アプリケーションを実現するための豊富な方法を提供します。

bomとdomとは何のモデルですか? bomとdomとは何のモデルですか? Nov 13, 2023 pm 05:08 PM

BOM はブラウザ オブジェクト モデル、DOM はドキュメント オブジェクト モデルです。 BOM は、ブラウザのウィンドウやブラウザが提供するさまざまなオブジェクトを記述するためのモデルであり、ブラウザのコアコンポーネントであり、ブラウザのウィンドウやフレームなどのオブジェクトにアクセスして操作することができます。 DOM は、開発者がスクリプト言語を通じてドキュメント内の要素と属性にアクセスして操作できるようにする一連の API を提供します。その中心的な概念には、ノード、要素、属性、テキストなどが含まれます。DOM ツリーのルート ノードはドキュメント オブジェクトであり、DOM ツリーのルート ノードはドキュメント オブジェクトです。ドキュメントのコンテンツ全体にアクセスします。

PHPコードからBOMを削除する方法 PHPコードからBOMを削除する方法 Oct 20, 2022 am 09:29 AM

PHP コードから BOM を削除する方法: 1. 「function clearbom($contents){...}」メソッドを使用してテキスト内の BOM ヘッダーを削除します; 2. 「function checkBOM ($filename) {...」を使用します。 }" メソッドを使用して、BOM ヘッダーを検出して削除します。 3. "function SearchBOM($string) {...}" メソッドを使用して、現在のファイルに BOM があるかどうかを検索し、BOM ヘッダーを削除します。

PHP bom の定義とその適用シナリオ PHP bom の定義とその適用シナリオ Mar 09, 2024 pm 09:36 PM

PHPBOM の定義とそのアプリケーション シナリオ バイト オーダー マークである BOM (ByteOrderMark) は、テキスト エンコード形式をマークするために使用される特殊な文字シーケンスです。通常、PHP 開発では、特定のコーディング上の問題を解決するために BOM が使用されますが、BOM が正しく処理されないと、ページが文字化けするなどの問題が発生する場合があります。この記事では、PHPBOM の定義とその適用シナリオを詳細に紹介し、読者の理解を深めるために具体的なコード例を添付します。 1.PH

フロントエンド BOM と DOM の違いは何ですか? フロントエンド BOM と DOM の違いは何ですか? Nov 13, 2023 pm 02:36 PM

違いは次のとおりです: 1. 意味が異なります。BOM はブラウザ オブジェクト モデルを指し、DOM はドキュメント オブジェクト モデルを指します。 2. 構造が異なります。BOM はブラウザ ウィンドウの中央に配置され、DOM ドキュメント内の要素はノードとして表されます。ツリー状に配置され、構造が整理されている; 3. インタラクション方法が異なり、BOM は Window オブジェクトを介して JS とインタラクションし、DOM はオブジェクト間のネストと参照を通じてインタラクションします; 4. アプリケーションスコープが異なり、BOM が使用されますブラウザウィンドウとブラウザ間の対話にはDOMが使用され、ドキュメントコンテンツの操作と対話にはDOMが使用されます; 5. 異なる開発傾向など

See all articles