·您的位置: 首页 » 资源教程 » 编程开发 » PHP » 自动生成静态页面

自动生成静态页面

类别: PHP教程  评论数:1 总得分:3
<?php
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;
}
?>
在页面的开始部分加入CreateShtml() 即可。


<?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;
}
?>
把以上代码保存为include.php

以下为test.php

<?
include("include.php");
CreateShtml();

?>
-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
相 关 文 章
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1