输出控制类

 1   
 2/**   
 3*   
 4* 作者: 徐祖宁 (唠叨)   
 5* 邮箱: [email protected]   
 6* 开发: 2002.07   
 7*   
 8*   
 9* 类: outbuffer   
10* 功能: 封装部分输出控制函数,控制输出对象。   
11*   
12* 方法:   
13* run($proc) 运行php程序   
14* $proc php程序名   
15* display() 输出运行结果   
16* savetofile($filename) 保存运行结果到文件,一般可用于生成静态页面   
17* $filename 文件名   
18* loadfromfile($filename) 装入保存的文件   
19* $filename 文件名   
20*   
21* 示例:   
22* 1.   
23* require_once "outbuffer.php";   
24* $out = new outbuffer();   
25* $out->run("test.php");   
26* $out->display();   
27*   
28* 2.   
29* require_once "outbuffer.php";   
30* require_once "outbuffer.php";   
31* $out = new outbuffer("test.php");   
32* $out->savetofile("temp.htm");   
33*   
34* 3.   
35* require_once "outbuffer.php";   
36* $out = new outbuffer();   
37* $out->loadfromfile("temp.htm");   
38* $out->display();   
39*   
40*/   
41  
42class outbuffer {   
43var $length;   
44var $buffer;   
45function outbuffer($proc="") {   
46$this->run($proc);   
47}   
48function run($proc="") {   
49ob_start();   
50include($proc);   
51$this->length = ob_get_length();   
52$this->buffer = ob_get_contents();   
53$this->buffer = eregi_replace("\r?\n","\r\n",$this->buffer);   
54ob_end_clean();   
55}   
56function display() {   
57echo $this->buffer;   
58}   
59function savetofile($filename="") {   
60if($filename == "") return;   
61$fp = fopen($filename,"w");   
62fwrite($fp,$this->buffer);   
63fclose($fp);   
64}   
65function loadfromfile($filename="") {   
66if($filename == "") return;   
67$fp = fopen($filename,"w");   
68$this->buffer = fread($fp,filesize($filename));   
69fclose($fp);   
70}   
71}   
Published At
Categories with Web编程
Tagged with
comments powered by Disqus