基本的には、私はWordPressのプラグインを作成しています。私のプラグインが最初に行う機能は、(送信前に)送信される予定のHTTP応答コードとヘッダーを識別することです。送信する前にどのHTTP応答コードとヘッダーが送信されるかを知る方法
httpステータスコードに基づいて、フックが配置され、他のものに基づいてHTTP応答が変更される可能性があります。
これは私が書いている最初のプラグインで、これで私の経験を推測することができます - 私はまだプラグインの基本を持っています。
基本的には、私はWordPressのプラグインを作成しています。私のプラグインが最初に行う機能は、(送信前に)送信される予定のHTTP応答コードとヘッダーを識別することです。送信する前にどのHTTP応答コードとヘッダーが送信されるかを知る方法
httpステータスコードに基づいて、フックが配置され、他のものに基づいてHTTP応答が変更される可能性があります。
これは私が書いている最初のプラグインで、これで私の経験を推測することができます - 私はまだプラグインの基本を持っています。
headers_list()
およびhttp_response_code()
を参照してください。
http_response_code()
は、ご使用のPHPバージョンではご利用いただけない場合があります。それを検出する他の方法はありません。ごめんなさい。しかし、自分で変更しなかった場合、ステータスコードは常に「200 OK」にする必要があります。
/* get headers and HTTP status code (which should be always 200,
if you didn't change it before calling this code) */
if (!headers_sent()) {
$headers = headers_list();
$status = http_response_code();
// change if necessary
}
else {
// oh noes, cannot change headers anymore
}
headers_list
関数は、送信されたまたは送信されるすべてのヘッダーのリストを表示します。 headers_sent
機能で既に送信されているかどうかを判断できますが、送信前に傍受することはできません。私はそれについて間違っている可能性があります - それは出力バッファリングで可能かもしれませんが、私はそれを調べていません。
はあなたのロジックに応じて、ヘッダーが最初のものと一緒に送信されていないかどうかを確認し、二つ目によって提供される結果に繰り返す、組み合わせてheaders_sent()とheaders_list()を使用し、それらを変更する必要が
返信ありがとう...あなたは正しいですが、headers_list()はHTTPステータスコードを与えません。 –
@ahmedtabrez HTTPステータスコード*は実際にはヘッダではない – Kaii
HTTPステータスコードを取得する方法(送信前).... –
こんにちはジェームズ!返信いただきありがとうございます。私はheaders_list()をチェックしました。それは以下を返しました:配列 ( [0] => X-Powered-By:PHP/5.3.5 [1] => X-Pingback:http://mysite.com/xmlrpc.php [2] => Content-Type:text/html; charset = UTF-8 ) HTTPステータスコードがありません。私はHTTPステータスコードが必要です... –