PHP プログラミングでは、passthru()、readfile()、var_dump() など、出力を直接生成する関数がよく出てきます。しかし、場合によっては、これらの関数の出力をファイルにインポートしたり、最初に処理したりしたいことがあります。次に、これらの関数の出力を文字列として出力または処理します。
このとき、Output Buffer (出力バッファ) 関数を使用します。
出力バッファを処理する関数は主に次のとおりです:
ob_start() 出力バッファリングを開始します。この時点で、PHP は出力を停止し、その後の出力はすべて内部バッファーに転送されます。
ob_get_contents() この関数は、これらの出力を文字列に変換することと同じです。
ob_get_length() は長さを返します。
ob_end_flush() は出力バッファを終了し、バッファの内容を出力します。その後、
ob_end_clean() は出力バッファを終了し、バッファの内容を破棄します。 var_dump() 関数は変数の構造と内容を出力します。これはデバッグ中に非常に役立ちます
ただし、変数の内容に $#@60;、$#@62; などの特殊文字が含まれている場合は、 , 出力が Web ページに表示されません。どうすればよいでしょうか?
ob_start();
var_dump($var);
$out = ob_end_clean を使用すると簡単に解決できます。 () ;
この時点で、 var_dump() の出力は既に $out に保存されています:
echo "$#@60;pre$#@62;" 。 $#@60; /pre$#@62;" ;
または、将来まで待つか、この文字列をテンプレート (Template) に送信してから出力します。