2017-10-10 5 views
-2

http_response_code関数は、出力が送信される前に呼び出される必要があるという点で、headerのように動作するはずです。しかし、PHPのマニュアルはこれについて言及していません。この方法で動作しますか?たとえば、次のプログラムでエラーが発生しますか?出力が送信される前にhttp_response_codeを呼び出す必要がありますか?

<!DOCTYPE html> 
<html> 
<?php 
http_response_code(404); 
?> 
</html> 

そうでない場合は、なぜそのようにではなくhttp_response_codeheader仕事はしますか?この機能のためのPHPマニュアルに関するコメントの

+3

"次のプログラムでエラーが発生しますか?" =>なぜあなたはそれを行かないのですか? –

+0

@JulienLachalしかし、それはすべてのプログラマーが見るためにそれを文書化しません!さらに、私はPHPを高速に実行する方法を持っていません。 – RamenChef

+0

あなたは本当にそれを行う方法を見つけようとしなかったように私に聞こえる、http://sandbox.onlinephpfunctions.com/を参照してください –

答えて

0

一つはうまくそれを合計:

http_response_codeは基本的にPHPがうまくいくことを追加ボーナスでは、http ステータスヘッダを書くの簡単な方法であります適切な 理由応答コードを 値の1つに一致させることによって提供するフレーズ。 php-src/main/http_status_codes.h内で維持する列挙体の値。これは、あなたの応答 コードがPHPが知っている応答コードと一致しなければならないことに注意してください。このメソッドを使用して 独自の応答コードを作成することはできませんが、 ヘッダーメソッドを使用することはできます。要約すると

- 応答コードを設定するための「http_response_code」と「ヘッダ」 との違い:

  1. http_response_codeを使用するにはPHPがある理由フレーズのリストから理由フレーズに合わせて適用するようになりますPHP ソースコードにハードコードされています。

  2. 上記のポイント1のため、http_response_codeを使用する場合、PHPが知っているコードを設定する必要があります。カスタムコード( )を設定することはできませんが、 ヘッダーメソッドを使用する場合は、カスタムコード(および理由フレーズ)を設定できます。

関連する問題