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


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 相关文章推荐
理解PHP5中static和const关键字的区别
Mar 19 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
PHP的几个常用数字判断函数代码
Apr 24 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
php环境无法上传文件的解决方法
Apr 30 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
帝国cms常用标签汇总
Jul 06 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
PHP常用的类封装小结【4个工具类】
Jun 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执行速度全攻略
2006/10/09 PHP
初识laravel5
2015/03/02 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
Python while 循环使用的简单实例
2016/06/08 Python
python获取list下标及其值的简单方法
2016/09/12 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
高分子材料与工程专业个人求职信
2013/12/15 职场文书
小学英语教学反思
2014/01/30 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
邀请函样本
2015/02/02 职场文书
客户付款通知书
2015/04/23 职场文书
小学生安全保证书
2015/05/09 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP