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

yipeiwu_com5年前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(); 
?>

相关文章

php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息

1.测试方法www.xxx.com/test.php?content_id=自己定义,如:44 复制代码 代码如下: $content_id = array();//1.创建一个数组 $...

php中最简单的字符串匹配算法

本文实例讲述了php中最简单的字符串匹配算法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:<?php /* 最简单字符串匹配算法php实现方式 &n...

php通过session防url攻击方法

本文实例讲述了php通过session防url攻击方法。分享给大家供大家参考。具体实现方法如下: 通过session跟踪,可以很方便地避免url攻击的发生,php采用session防ur...

PHP 采集心得技巧

1.获取远程文件源代码(file_get_contents或用fopen). 2.分析代码得到自己想要的内容(这里用正规匹配,一般是得到分页)。 3.跟根得到的内容进行下载入库等操作。...

PHP实现websocket通信的方法示例

本文实例讲述了PHP实现websocket通信的方法。分享给大家供大家参考,具体如下: 执行方法: 首先先修改server.php与index.html的ip 通过命令行执行 [php路...