PHP生成静态的shtml文件类
PHP生成静态的shtml文件类,本类其实也可以生成HTML、htm格式,SHTML也是静态文件,只不过它可以执行服务器端的include命令,比如可把网页头部和底部包括进来,这样当需要修改头部的时候,不需要再全部生成HTML,下面来看这个生态静态类代码:
<?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)) . ".html");
$shtml->Templet = $buffer;
$shtml->Create();
return $buffer;
}
?>一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
大家评论
站长推荐
