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


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 相关文章推荐
php下实现伪 url 的超简单方法[转]
Sep 24 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
php post json参数的传递和接收处理方法
May 31 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
PHP判断是否是json字符串
Apr 01 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小偷相关截取函数备忘
2010/11/28 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
HTML中事件触发列表与解说
2007/07/09 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
angular 内存溢出的问题解决
2018/07/12 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
python共享引用(多个变量引用)示例代码
2013/12/04 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
python在地图上画比例的实例详解
2020/11/13 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
营销与策划个人求职信
2013/09/22 职场文书
保险公司演讲稿
2014/09/02 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL