私はApacheのWebサーバ(私が管理していない)で動作するPHPスクリプトを書いています。機能では、変数$outfile
は、関数の引数として与えられ、そして機能の非常に最初はこれです:PHP stdoutは書かれていません
if (isset($outfile))
$fh = fopen($outfile, 'wb');
else
$fh = fopen('php://stdout', 'w');
echo 'Hello, ';
fwrite($fh, 'World');
私は$outfile = NULL
でこの関数を呼び出すので、$fh
はstdoutに指している必要があります。私も多くの条件をドロップすることによって、これをダウン取り除くことができます。
$fh = fopen('php://stdout', 'w');
echo 'Hello, ';
fwrite($fh, 'world');
ポイントは、それが唯一の代わりに私が期待してい何の
Hello,
を出力します
Hello, world!
をどのように来て、どうすればこの問題を回避できますか?
なぜあなたは再びstdoutに書き込んでいますか? – WEBjuju
おそらく出力バッファリングが原因です。 – Barmar
@WEBjuju最初のコードからわかるように、変数 '$ output'は' NULL'かファイル名になります。 – rexkogitans