PHP静态类


Posted in PHP onNovember 25, 2006
<?php   
class Shtml   
 {   
 var $Templet;   
 var $DataSource;   
 var $Dir;    var $fileName;   
 var $mod;   
 var $handle;   
 function Shtml($fileName="")   
 {   
 $this->fileName=$fileName;   
 $this->mod="wb";   
 $this->handle=false;   
 $this->Templet = "";   
 $this->DataSource = array();   
 $this->Dir = "";   
 }   
 /// <描述>   
 /// 绑定数据源,参数为一数组。   
 /// </描述>   
 function BindData($arr)   
 {   
 $this->DataSource = $arr;   
 }   
 /// <描述>   
 /// 设置文件存放路径。   
 /// </描述>   
 function SetDir($dir)   
 {   
 $this->Dir = $dir;   
 }   
 function SetFileName($fileName)   
 {   
 return $this->fileName=$fileName;   
 }   
 function GetMod()   
 {   
 return $this->mod;   
 }   
 function SetMod($mod)   
 {   
 return $this->mod=$mod;   
 }   
 function Open()   
 {   
 if(substr($this->fileName,0,1)=="/")   
 $this->fileName = $_SERVER['DOCUMENT_ROOT'] . $this->fileName;   
 if($this->handle=fopen($this->fileName, $this->mod))   
 return $this->handle;   
 else   
 return false;   
 }   
 function Close()   
 {   
 return fclose($this->handle);   
 }   
 function Write($content)   
 {   
 return fwrite($this->handle,$content);   
 }   
 function MkDir($pathname)   
 {   
 $currentPath="";   
 str_replace("\","/",$pathname);   
 $pathArr = split("/",$pathname);   
 if($pathArr[0] == "") //使用绝对路径   
 {   
 $currentPath = $_SERVER['DOCUMENT_ROOT'];   
 }   
 else   
 {   
 $currentPath = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']);   
 }   
 for($i=0; $i<count($pathArr); $i++)   
 {   
 if($pathArr[$i]=="")   
 continue;   
 else   
 if(is_dir($currentPath . "/" . $pathArr[$i]))   
 $currentPath = $currentPath . "/" . $pathArr[$i];   
 else   
 mkdir($currentPath = $currentPath . "/" . $pathArr[$i]);   
 }   
 }   
 /// <描述>   
 /// 生成静态文件。   
 /// </描述>   
 function Create()   
 {   
 $tmp = $this->Templet;   
 foreach($this->DataSource as $key=>$value)   
 {   
 $tmp = str_replace("<FIELD_" . $key . ">", $value, $tmp);   
 }   
 $this->MkDir(dirname($this->fileName));   
 $this->Open();   
 $this->Write($tmp);   
 $this->Close();   
 }   
 }   
 function CreateShtml()   
 {   
 ob_start("callback_CteateShtml");   
 }   
 function callback_CteateShtml($buffer)   
 {   
 $page = intval(@$_REQUEST["page"]);   
 $shtml = new Shtml();   
 $shtml->SetFileName($_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm");   
 $shtml->Templet = $buffer;   
 $shtml->Create();   
 return $buffer;   
 }   
?>
PHP 相关文章推荐
Mysql的常用命令
Oct 09 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
php5.3以后的版本连接sqlserver2000的方法
Jul 28 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
php获取CSS文件中图片地址并下载到本地的方法
Dec 02 PHP
PHP实现的增强性mhash函数
May 27 PHP
php通过排列组合实现1到9数字相加都等于20的方法
Aug 03 PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
Sep 02 PHP
详细解读php的命名空间(一)
Feb 21 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
Sep 07 PHP
PHP文本操作类
Nov 25 #PHP
小偷PHP+Html+缓存
Nov 25 #PHP
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 #PHP
如何使用PHP中的字符串函数
Nov 24 #PHP
PHP常用代码
Nov 23 #PHP
给初学PHP的5个入手程序
Nov 23 #PHP
PHP中的日期及时间
Nov 23 #PHP
You might like
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
PHP5+UTF8多文件上传类
2008/10/17 PHP
phpMyAdmin 安装及问题总结
2009/05/28 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
Javascript的闭包
2009/12/31 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
flask 实现token机制的示例代码
2019/11/07 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
基于Python正确读取资源文件
2020/09/14 Python
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
教师自荐书
2013/10/08 职场文书
大学生饮食配送创业计划书
2014/01/04 职场文书
感恩节红领巾广播稿
2014/02/11 职场文书
健康教育评估方案
2014/05/25 职场文书
建筑工地质量标语
2014/06/12 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
美丽的大脚观后感
2015/06/03 职场文书
奔腾年代观后感
2015/06/09 职场文书
身份证丢失证明
2015/06/19 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
Python pyecharts绘制条形图详解
2022/04/02 Python