当前位置:编程学习 > php >>

用缓存实现静态页面的测试

答案: <?php
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();
?>

上一个:常用表单验证类,有了这个,一般的验证就都齐了。
下一个:让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,