今回は、php://outputとphp://stdoutの違いと、php://outputとphp://stdoutを使用する際の注意事項について詳しく説明します。起きて見てください。
PHP の公式ドキュメントから答えを見つけてください。入力ストリーム php://stdin と php://input の説明は次のとおりです (出力ストリームの説明は非常に簡単です)。 2 つの違いを直接説明することはできませんが、注意深く比較すると次の情報が得られます: 1. どちらも読み取り専用ストリームです。 2. php://stdin は PHP プロセスの標準入力であり、php://input はリクエストボディの元のデータを読み取るために使用されます。この情報を使って、この 2 つの本質的な違いを正しく理解するにはどうすればよいでしょうか?
php://stdin プロセスの入力プロンプトに従い、PHP プロセスの実行プロセスを関連付け、それを SAPI の違いと組み合わせると、2 つの主な違いがわかります: php://stdin は入力ストリームですPHP プロセスの実行ライフサイクル
データが流入する可能性があります (CLI での対話型入力など)。通常、データは PHP の実行時に 1 回しか読み取れません。 (詳細については、SAPI の実装を参照してください)。同様に、php://stdout と php://output の違いを取得できます。php://stdout は PHP プロセスの標準出力ストリームであり、php://output は返された結果データ ストリームです。 。
// file: test.php file_put_contents("php://output", "message sent by output" . PHP_EOL); file_put_contents("php://stdout", "message sent by stdout" . PHP_EOL); print("message sent by print" . PHP_EOL); echo "SAPI:" , PHP_SAPI , PHP_EOL;
ブラウザ側リクエスト、出力は次のとおりです:
message sent by output message sent by stdout message sent by print SAPI:cli
コマンドラインの下、標準出力PHP プロセスのストリームと結果出力ストリームは両方ともターミナルを指し、すべてのメッセージが出力されます。ブラウザ側では、PHP プロセスの出力ストリームは無視され、結果のデータ ストリームのみが Web サーバーに送信されます。同時に、print 呼び出しと echo 呼び出しの情報が実行結果として結果出力ストリームに送信されるため、正常に表示されます。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
PHP は非常に大きな数値の整数セットを計算しますニュースデータケースの詳細を取得する PHP+ajax 実装
以上がphp://outputとphp://stdoutの違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。