/**
*
* 著者: Xu Zuning (Nagging)
* 電子メール: czjsz_ah@stats.gov.cn
* 開発: 2002.07
*
*
* クラス: outbuffer
* 機能: 出力制御関数の一部をカプセル化し、出力オブジェクト。
*
* メソッド:
* run($proc) php プログラムを実行します
* $proc php プログラム名
* display() 実行結果を出力します
* savetofile($filename) Save 実行結果をファイルに保存します。通常、静的ページを生成するために使用されます。
* $filename ファイル名
* loadfromfile($filename) 保存したファイルをロードします
* $filename ファイル名
*
* 例:
* 1.
* require_once "outbuffer.php";
* $out = 新しい outbuffer ();
* $out->run("test.php");
* $out->display();
*
* 2.
* require_once "outbuffer.php ";
* require_once "outbuffer .php";
* $out = new outbuffer("test.php");
* $out->savetofile("temp.htm");
*
* 3.
* require_once "outbuffer.php";
* $out = new outbuffer();
* $out->loadfromfile("temp.htm");
* $out->display();
*
*/
class outbuffer {
var $length;
var $buffer;
function outbuffer($proc="") {
$this->run($proc) ;
}
function run($proc="") {
ob_start();
include($proc);
$this->length = ob_get_length();
$this->buffer = ob_get_contents();
$this->buffer = eregi_replace("r?n","rn",$this->buffer);
ob_end_clean();
}
function display() {
echo $this->buffer;
}
function savetofile($filename="") {
if($filename == "") return;
$fp = fopen($filename,"w");
fwrite($fp,$this-> buffer);
fclose($fp);
}
functionloadfromfile($filename="") {
if($filename == "") return;
$fp = fopen($filename,"w");
$this->buffer = fread($fp,filesize($filename));
fclose($fp);
}
}
?>