当前位置:Gxlcms > PHP教程 > 输出控制类

输出控制类

时间:2021-07-01 10:21:17 帮助过:3人阅读

/**
*
* 作者: 徐祖宁 (唠叨)
* 邮箱: 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);
 }
}
?>

人气教程排行