当前位置:首页 > PHP教程 > 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(); 
?>



【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!