php輸出控制類
發表于:2007-07-14來源:作者:點擊數:
標簽:
? php /** * *作者: 徐祖寧 (嘮叨) *郵箱: czjsz_ah@stats.gov.cn * 開發 : 2002.07 * * *類: outbuffer *功能: 封裝部分輸出控制函數,控制輸出對象。 * *方法: *run($proc)運行php程序 *$procphp程序名 *display()輸出運行結果 *savetofile($filename)保存
<?
php/**
*
* 作者: 徐祖寧 (嘮叨)
* 郵箱: czjsz_ah@stats.gov.cn
*
開發: 2002.07
*
*
* 類: outbuffer
* 功能: 封裝部分輸出控制函數,控制輸出對象。
*
* 方法:
* run($proc) 運行php程序
* $proc php程序名
* display() 輸出運行結果
* savetofile($filename) 保存運行結果到文件,一般可用于生成靜態頁面
* $filename 文件名
* loadfromfile($filename) 裝入保存的文件
* $filename 文件名
*
* 示例:
* 1.
* require_once "outbuffer.php";
* $out = new 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","\r\n",$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);
}
function loadfromfile($filename="") {
if($filename == "") return;
$fp = fopen($filename,"w");
$this->buffer = fread($fp,filesize($filename));
fclose($fp);
}
}
?>
原文轉自:http://www.anti-gravitydesign.com