php处理静态页面:页面设置缓存时间实例


Posted in PHP onJune 22, 2017

通过PHP去生成一个纯静态的页面:https://3water.com/article/116814.htm

问:如何触发系统生成纯静态化页面?

1.页面添加缓存时间

2.手动触发的方式

3.crontab定时扫描程序

我们来实现方案一:页面添加缓存时间

用户请求页面 => 页面是否过期 => => 否(获取静态页面) || =>是(动态页面生成一份新的静态页面)

if( 如果存在这个静态文件 && 没有过期){
  // 获取页面
}else{
  // 重新生成一份静态页面
}

ok,基本逻辑就是如此,下面我们完善代码:

<?php

if(is_file('./index.html') && (time()-filemtime('./index.html')) < 60){ 
  // 假设缓存时间是60秒
  // 获取页面
  require_once('./index.html');
}else{
  // 重新生成一份静态页面
  // 准备要展示到网页的数据
  $data = array( 
    array('id'=>1,'msg'=>'hello java'),
    array('id'=>2,'msg'=>'hello php'),
    array('id'=>3,'msg'=>'hello python'),
  );

  // 渲染到模板
  // 实际项目一般是在html里渲染
  // 这里演示 希望能看懂

  ob_start(); // 开始输入缓冲控制

  foreach($data as $item){
    echo $item['id'].'===>'.$item['msg'].'<br/>';
  }

  // 开始生成静态页面文件
  file_put_contents('index.html',ob_get_contents());
}

这样我们访问index.php,如果静态文件缓存没有过期,其实质访问的内容来自index.html这个静态文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用PHP开发GUI
Oct 09 PHP
分享下页面关键字抓取components.arrow.com站点代码
Jan 30 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 PHP
php自定义apk安装包实例
Oct 20 PHP
php.ini中的request_order推荐设置
May 10 PHP
[原创]php求圆周率的简单实现方法
May 30 PHP
php微信公众平台开发之微信群发信息
Sep 13 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
php中各种定义变量的方法小结
Oct 18 PHP
php如何把表单内容提交到数据库
Jul 08 PHP
PHP遍历数组的6种方式总结
Nov 17 PHP
PHP使用redis消息队列发布微博的方法示例
Jun 22 #PHP
用PHP去掉文件头的Unicode签名(BOM)方法
Jun 22 #PHP
PHP简单装饰器模式实现与用法示例
Jun 22 #PHP
PHP实现的简单适配器模式示例
Jun 22 #PHP
php smtp实现发送邮件功能
Jun 22 #PHP
php实现页面纯静态的实例代码
Jun 21 #PHP
详解php实现页面静态化原理
Jun 21 #PHP
You might like
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
PHP基础知识介绍
2013/09/17 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
PHP中的命名空间详细介绍
2015/07/02 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
js constructor的实际作用分析
2011/11/15 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
js实现烟花特效
2020/03/02 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
写了个监控nginx进程的Python脚本
2012/05/10 Python
python 七种邮件内容发送方法实例
2014/04/22 Python
Python使用Scrapy爬取妹子图
2015/05/28 Python
Python从零开始创建区块链
2018/03/06 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
python实现交并比IOU教程
2020/04/16 Python
文明礼仪事迹材料
2014/01/09 职场文书
管理信息系学生的自我评价
2014/01/11 职场文书