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


Posted in PHP onDecember 06, 2006

<?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 相关文章推荐
文章推荐系统(二)
Oct 09 PHP
同时提取多条新闻中的文本一例
Oct 09 PHP
php mssql 时间格式问题
Jan 13 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
Mar 07 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
php将图片保存为不同尺寸图片的图片类实例
Mar 30 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
laravel实现简单用户权限的示例代码
May 28 PHP
一些PHP写的小东西
Dec 06 #PHP
关于时间计算的结总
Dec 06 #PHP
一段防盗连的PHP代码
Dec 06 #PHP
PHP安全配置
Dec 06 #PHP
PHP一些有意思的小区别
Dec 06 #PHP
弄了个检测传输的参数是否为数字的Function
Dec 06 #PHP
PHP4 与 MySQL 数据库操作函数详解
Dec 06 #PHP
You might like
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
JsDom 编程小结
2011/08/09 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
Javascript事件实例详解
2013/11/06 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
Python OS模块实例详解
2019/04/15 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
python3中编码获取网页的实例方法
2020/11/16 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
html5读取本地文件示例代码
2014/04/22 HTML / CSS
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
初中体育教学反思
2014/01/14 职场文书
法人授权委托书范本
2014/04/04 职场文书
协议书怎么写
2014/04/21 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
2015教师个人工作总结范文
2015/03/31 职场文书
企业法律事务工作总结
2015/08/11 职场文书
感恩的心主题班会
2015/08/12 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python