当前位置:首页> PHP教程> php进阶
关键字
文章内容
php输出控制类
 
 
修改时间:[2009/07/17 12:14]    阅读次数:[1550]    发表者:[起缘]
 
<?php
/**

*  作者: 徐祖宁 (唠叨)
*  邮箱: [email protected]
*  开发: 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","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);
  }
  function 
loadfromfile($filename="") {
    if(
$filename == "") return;
    
$fp fopen($filename,"w");
    
$this->buffer fread($fp,filesize($filename));
    
fclose($fp);
  }
}
?> 


(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)