输出控制类

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

(0)

相关推荐

  • 输出控制类

    <?php/*** *  作者: 徐祖宁 (唠叨)*  邮箱: czjsz_ah@stats.gov.cn*  开发: 2002.07* * *  类: outbuffer*  功能: 封装部分输出控制函数,控制输出对象.* *  方法:*  run($proc)                运行php程序*    $proc     php程序名*  display()                 输出运行结果*  savetofile($filename)     保存运行结果到文件,

  • 超实用的android自定义log日志输出工具类

    android自定义log日志输出工具,该工具类具有以下优点: 1 在LogUtlis方法的第一个参数中填this可以输出当前类的名称,特别是在匿名内部类使用也可以输出当前类名. 如 : LogUtils.i(this,"这是一个实用的日志工具类") 或 LogUtils.i(类名.class,"这是一个实用的日志工具类"). 效果:比如我在MainActivity中直接LogUtils.i(this,"logTest"),配合自己喜欢的标志,结

  • Java输出打印工具类封装的实例

    在进行Java打印输出,进行查看字段值的时候,觉得每次写了System.out.println之后,正式发布的时候,还得一个个的删掉,太麻烦了,经过别人的指教,做了一个Java的打印输出封装类,只为记录一下这个工具类. 不多说,贴代码 package com.dyf.utils; /** * 描述:封装输出打印,设置打印开关 * @author diy * */ public class SysoUtils { private static final boolean DEBUG = true;

  • C语言变量类型与输出控制用法实例教程

    本文实例讲述了C语言变量类型与输出控制用法,有助于读者很好的对其进行总结与归纳.该实例分享给大家供大家参考借鉴之用.具体如下: 完整实例代码如下: /********************************************** **<Beginning C 4th Edition>Notes codes ** Created by Goopand ** Compiler: gcc 4.7.0 *******************************************

  • C语言基础之格式化输出控制长度

    c语言格式化输出控制长度 今天在实现ls命令的时候,输出的文件名是上下对齐: 1 2 a.c b crawler text 公共的 视频 文档 音乐 1.c 2.c a.out b.c git win 模板 图片 下载 桌面 便想着实现对齐,想到了c的格式化输出: printf("%-10s",s); 这样便实现了将字符串s占10格居左输出. 但却由一个难以解决的问题,上述的 10 不能提前预支,是程序运行时计算出来的,便想着能否这样输出: int a=5; char s[]=&quo

  • 两个php日期控制类实例

    本文实例讲述了两个php日期控制类.分享给大家供大家参考.具体分析如下: 由于工作需要我找了二个时间日期控制,这个不用js只要php实现的,因为要带参考查询操作,感兴趣的朋友可以参考一下,我自己用的是第二个,所以第二个己作了修改. 实例一,代码如下: 复制代码 代码如下: <?php class Calendar {  var $month;  var $year;       function __construct($year,$month)     {      $this->year=

  • thinkPHP5框架auth权限控制类与用法示例

    本文实例讲述了thinkPHP5框架auth权限控制类.分享给大家供大家参考,具体如下: 这个是比较简单的用法: 直接把类贴出来,这里我改了,我没有用uid,因为我建的表是admin表,所以代码里对应查询改成了aid 还有表名,我都去掉了前缀 <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] //

  • python中类的输出或类的实例输出为<__main__类名 object at xxxx>这种形式的原因

    原因: __str__()这个特殊方法将对象转换为字符串的结果 效果图: 代码: # 定义一个Person类 class Person(object): """人类""" def __init__(self, name , age): self.name = name self.age = age p = Person('小黑',18) print(p) print('\n\n\n\n\n') # 定义一个Person类 class Person

  • 使用log4j输出一个类的所有参数的值

    目录 log4j输出一个类的所有参数的值 log4j各参数打印输出内容 log4j输出一个类的所有参数的值 项目用到的是日志框架是slf4j+log4j,在使用的过程中,如果要输出一个元素的值,一般都是这样写 logger.info("当前登录人的姓名是:{}", userinfo.getName()); 这样就会输出:当前登录人的姓名是:张三 但是如果我想要输出一个类userinfo中所有的参数信息,比如说,姓名,年龄,电话等信息,如果这样就会出问题 logger.info(&quo

  • VC++中HTControl控制类使用之CHTDlgBase对话框基类实例

    本文所述为VC++界面编程的一个MFC例子,基于HTControl控件类的CHTDlgBase对话框基类主文件代码.该程序可完成动态创建框架窗体,窗体外观(客户区与非客户区),调整窗体大小,无效子窗口的控制等功能. 具体实现代码如下: /**************************************************************************** | Copyright (c) 2012, | ******************************

随机推荐