Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1548868
  • 博文数量: 194
  • 博客积分: 6450
  • 博客等级: 准将
  • 技术积分: 2085
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-06 13:39
文章分类

全部博文(194)

文章存档

2013年(38)

2012年(11)

2011年(1)

2010年(1)

2009年(4)

2008年(13)

2007年(18)

2006年(63)

2005年(45)

我的朋友

分类:

2005-10-19 09:50:26

一段简单的代码,实现静态页面的生成。尽管如此,它体现的是一种思想。

function CreateShtml()

{

ob_start(array("callback_CreateShtml","callback_GoToShtml"));

}



function callback_CreateShtml($buffer)

{

$page = intval(@$_REQUEST["page"]);

$fileName = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";

$fp = fopen($fileName,"wb");

fwrite($fp,$buffer);

fclose($fp);

return $buffer;

}



function callback_GoToShtml($buffer)

{

$page = intval(@$_REQUEST["page"]);

$fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";

header("location:" . $fileName);

return $buffer;

}



function GoToShtml()

{

$page = intval(@$_REQUEST["page"]);

$fileName = basename($_SERVER['PHP_SELF'],".php") . ($page==0 ? "" : "_" . strval($page)) . ".htm";

if(file_exists($fileName))

header("location:" . $fileName);

}



function DeleteShtml($fileName=NULL)

{

if(is_null($fileName))

$fileName = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF'];



if($fileName[0]=="/")

$fileName = $_SERVER['DOCUMENT_ROOT'] . $fileName;



$path = dirname($fileName);

$dir = dir($path);

$patten = "/^" . basename($fileName, ".php") . "(_[0-9]+)?.htm/";

while(($entry = $dir->read())!==false)

{

if(is_file($path . "/" .$entry) && preg_match($patten,$entry))

unlink ($path . "/" . $entry);

}

}


CreateShtml();
echo "这是静态生成的页面!$page";
GoToShtml();
DeleteShtml();
?>

阅读(1236) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~