PHP は、多くの実用的な機能を備えた非常に人気のあるサーバーサイド言語です。一般的な要件の 1 つは、HTTP ヘッダー情報を削除することです。 HTTP ヘッダーは、HTTP リクエストまたはレスポンスの先頭に含まれる情報です。これには、応答ステータス、サーバーの種類、日付、Cookie など、多くの有用なデータが含まれています。
ただし、大きなファイルをすばやくダウンロードする必要がある場合や、プログラムで複雑なリクエストを処理する必要がある場合など、PHP プログラムの HTTP ヘッダー情報を削除する必要がある場合があります。理由が何であれ、ここでは HTTP ヘッダー情報を削除するいくつかの方法を示します。
方法 1: PHP 組み込み関数 header() を使用する
PHP には、一般的な組み込み関数 header() HTTP が用意されています。ヘッダーを送信できます。 header() 関数を使用して空の HTTP ヘッダーを送信し、すべての HTTP ヘッダー情報を削除できます。コードは次のとおりです。
header('Content-Type: '); header('Content-Disposition: attachment; filename=file.zip'); header('Content-Length: ' . filesize($file)); readfile($file);
このコードは、空の Content-Type ヘッダー、Content-Length ヘッダー、および Content-Disposition ヘッダーを出力します。次に、readfile() 関数を使用してファイルから内容を読み取り、出力します。
方法 2: cURL ライブラリを使用する
cURL は PHP の一般的なクライアント ライブラリであり、HTTP リクエストの送信と応答の取得に使用できます。 cURL ライブラリを使用すると、HTTP HEAD リクエストを送信して、実際のコンテンツではなくファイルのメタデータのみを取得できます。
$ch = curl_init('http://example.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); $response = curl_exec($ch); $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); curl_close($ch); echo $header;
このコードでは、まず、curl_init() 関数を使用して cURL ハンドルを作成し、URL を渡します。次に、HTTP ヘッダー情報のみを取得したいことを cURL に伝えるために、いくつかのオプションを設定します。 curl_exec() 関数を実行すると、cURL は HTTP HEAD リクエストを送信し、応答を返します。レスポンスからHTTPヘッダー情報を取得して出力します。
方法 3: Apache の mod_headers モジュールを使用する
Apache を Web サーバーとして使用している場合は、その mod_headers モジュールを使用して HTTP ヘッダーを直接変更できます。これには、Apache の構成ファイルを編集する権限が必要です。次のコードを httpd.conf ファイルに追加します。
<FilesMatch "index.php"> Header unset Server Header unset X-Powered-By Header unset Transfer-Encoding Header unset Content-Length </FilesMatch>
このコードは、すべてのindex.php ファイルと一致し、4 つの HTTP ヘッダー (Server、X-Powered-By、Transfer-Encoding、Content -Length) を削除します。
概要
PHP の header() 関数、cURL ライブラリ、または Apache の mod_headers モジュールを使用するかどうかに関係なく、HTTP ヘッダー情報を簡単に削除できます。この小さなトリックは、Web アプリケーションを作成したりデータを処理したりするときに役立ちます。
以上がPHPのhttpヘッダー情報を削除するにはどうすればよいですか?メソッドの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。