こんにちは、ムーシアさん!
Rainbird があなたに短いメッセージを送りました:
バックグラウンドで実行するデーモンをたくさん書きましたが、使い方はとても簡単ですが、コンテンツをパイプ経由で渡したいのですが、その方法がわかりません。これを実現するには、echo " aaaa" |a.php、a.php と同様に、エコーの内容を取得する方法がありますか?
今日メッセージを受け取りました。解決策を共有したいと思います。 :
実際には、シェルの | 上記は、前の出力の標準出力が次の出力の標準入力として使用されることを示しています。実装はパイプを通じて実装されますが、
PHP コードを記述するときに基礎となる操作を知る必要はありません。標準入力として直接読み取ることができます:
以下は実験的なコードです:
コードをコピーします コードは次のとおりです:
$fp = fopen("php://stdin", "r")
$s = ''
while (!feof($fp) ))
{
$s .= fgets($fp, 128);
var_dump($s);
; 🎜>
テスト方法:
コードは次のとおりです。 php php_read_pipe.php Rainbird は、より単純なコードも提供します。
file_get_contents('php://stdin')転送するデータが大量にある場合、一般的に、 4K ごとに 1 回転送されます。
転送が完了するまで。これは、
file_get_contents('php://stdin') を使用するだけでは不可能な場合があります。もしそうなら、私はいつでも待っています。