私はtxtファイルからストリームを読み取るプロジェクトに実行しているので、CLIでは次のように書きます:
cat texte.txt|php index.php
私のindex.php
ストリームを読み込むファイル:
$handle = fopen ("php://stdin","r");
今、私は$result
処理ファイルの結果が含まれており、STDOUT
で出力したいのですが、マニュアルで調べましたが、使用方法がわかりません。使用例を教えてください。
さて、 STDIN
と STDOUT
の使用法の別の例を挙げましょう。
PHPでは、次の2つのイディオムを使用します。
$input = fgets(STDIN);
fwrite(STDOUT, $output);
コマンドラインからこれらを利用する場合:
cat "input.txt" | php script.php > "output.txt"
php script.php < input.txt > output.txt
echo "input..." | php script.php | sort | tee output.txt
それがこれらすべてです。パイピングまたはパイピングアウト。また、入力部分はSTDIN
に表示されますが、出力はSTDOUT
に移動する必要があります。ストリームを渡らないでください!
定数STDIN
とSTDOUT
はすでにリソースであるため、必要なことは
fwrite(STDOUT, 'foo');
http://php.net/manual/en/wrappers.php を参照してください
php:// stdin、php:// stdout、およびphp:// stderrは、PHPプロセスの対応する入力または出力ストリームへの直接アクセスを許可します。ストリームは重複するファイル記述子を参照するため、 php:// stdinを開いて後で閉じると、記述子のコピーのみを閉じます。STDINによって参照される実際のストリームは影響を受けません。PHPは、 PHP 5.2.1。これらのラッパーを使用してストリームを手動で開くのではなく、定数STDIN、STDOUT、およびSTDERRを使用することをお勧めします。
これはあなたのために働くはずです
$out = fopen('php://output', 'w'); //output handler
fputs($out, "your output string.\n"); //writing output operation
fclose($out); //closing handler