php://outputとphp://stdoutの違いを詳しく解説

php中世界最好的语言
リリース: 2023-03-25 21:08:01
オリジナル
3047 人が閲覧しました

今回は、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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート