输出控制类


Posted in PHP onOctober 09, 2006

<?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);
  }
}
?>

PHP 相关文章推荐
php设计模式 Singleton(单例模式)
Jun 26 PHP
php设计模式 Adapter(适配器模式)
Jun 26 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
学习PHP的数组总结【经验】
May 05 PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
php提高脚本性能的4个技巧
Aug 18 PHP
laravel7学习之无限级分类的最新实现方法
Sep 30 PHP
提取HTML标签
Oct 09 #PHP
如何把PHP转成EXE文件
Oct 09 #PHP
一个查看session内容的函数
Oct 09 #PHP
一个显示天气预报的程序
Oct 09 #PHP
web方式ftp
Oct 09 #PHP
php中文本数据翻页(留言本翻页)
Oct 09 #PHP
自己动手做一个SQL解释器
Oct 09 #PHP
You might like
php 错误处理经验分享
2011/10/11 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
php给每个段落添加空格的方法
2015/03/20 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
Javascript 遍历页面text控件详解
2014/01/06 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
基本款天堂:Everlane
2017/05/13 全球购物
免税水晶:Duty Free Crystal
2019/05/13 全球购物
小学教师节活动方案
2014/01/31 职场文书
学生感冒英文请假条
2014/02/04 职场文书
迟到检讨书
2015/01/26 职场文书
法院执行局工作总结
2015/08/11 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
创业计划书之干洗店
2019/09/10 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Mysql 文件配置解析介绍
2022/05/06 MySQL
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android