これに対する出力は何ですか?PHPに関する客観的な質問
ob_flush();
session_start();
ob_start();
echo ('hi');
PRINT ' there';
ob_end_clean();
{
' Programmer';
}
私はいくつかのPHPに関する質問に取り組んでいました。この疑問に対する解決策は何でしょうか?何か案が?
これに対する出力は何ですか?PHPに関する客観的な質問
ob_flush();
session_start();
ob_start();
echo ('hi');
PRINT ' there';
ob_end_clean();
{
' Programmer';
}
私はいくつかのPHPに関する質問に取り組んでいました。この疑問に対する解決策は何でしょうか?何か案が?
これは何も印刷しません。 ob_start()
で出力バッファリングがオンになったので、ob_end_clean()
は「出力バッファをクリーン(消去)し、出力バッファリングをオフにします」。
そして
{
' Programmer';
}
は何もしませんが、文字列リテラルを宣言します。
さてここで、私はそれを実行したときに私が得た出力...
PHP Notice: ob_flush(): failed to flush buffer. No buffer to flush in /Users/foo/source/test.php on line 2
PHP Stack trace:
PHP 1. {main}() /Users/foo/source/test.php:0
PHP 2. ob_flush() /Users/foo/source/test.php:2
Notice: ob_flush(): failed to flush buffer. No buffer to flush in /Users/foo/source/test.php on line 2
Call Stack:
0.0009 624552 1. {main}() /Users/foo/source/test.php:0
0.0027 624600 2. ob_flush() /Users/foo/source/test.php:2
がいることは、すべてのコードされたか、それが実行されなければならない方法についての指示があったのですか? Jonathonが指摘するように、これはコマンドラインで実行されました。 Apacheや他のWebサーバーを経由して実行すると、彼の答えに挙げられたReason's Jonathonのために何も出力しないと思います。 CLIを使用して動作を知っておくと便利です。
注:これはCLIの下で実行され、出力バッファリングはデフォルトでは有効になっていません。http://www.php.net/manual/en/features.commandline.differences.php –
@JonathonReinhartはい、CLIで実行されました。出力バッファリングが機能しないか、少なくとも初期バッファは存在しないようです。なぜそれを実行するための特定の指示があるかどうか尋ねられた理由は... – Endophage
ob_flush();
、フラッシュする何も、多分プラスト警告を動作しませんしませんsession_start();
が動作しなくなりますので、ob_start();
は、出力バッファリングecho ('hi');
エコーをオンに前回の関数呼び出しの間違いプラスト警告出力バッファーにPRINT ' there';
出力バッファーにもob_end_clean();
送信バッファーR内容忘却の彼方への変数がそのリターン{
カーリーコードブラケットを取得していないので、 ' Programmer';
として、ここで
}
私のクレジットカード番号を隠すことができなかったように確認してください。最悪の場合:画面上で3〜4回の警告が表示されることがあります。 〜によってdisplay_errors
phpの設定。最初のob_flushは、Webサーバースクリプトでうまく動作するかもしれません。あなたの設定によって異なります。 – Endophage
あなたはそれを試してみませんか? – Hassan
どうすれば試してみることができますが、PHPのオンラインツールで試してみましたが、うまくいきませんでした。 – AKIWEB
あなたはPHPのポジションについてインタビューしていますが、PHPコードで遊ぶ方法はありませんか?あなたはWAMPについて聞いたことがありますか? –