用缓存实现静态页面的测试 |
本文标签:用缓存实现静态页面的测试 <?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(); ?> |