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程序中的常见漏洞进行攻击
Oct 09 PHP
菜鸟学PHP之Smarty入门
Jan 04 PHP
织梦模板标记简介
Mar 11 PHP
php中使用addslashes函数报错问题的解决方法
Feb 06 PHP
PHP+MYSQL会员系统的开发实例教程
Aug 23 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
PHP中文竖排转换实现方法
Oct 23 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
PHP 数组黑名单/白名单实例代码详解
Jun 04 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 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
PHP语法速查表
2007/01/02 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
php生成图片验证码
2015/06/09 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
jquery.validate使用攻略 第二部
2010/07/01 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
node.js实现博客小爬虫的实例代码
2016/10/08 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
python多线程与多进程及其区别详解
2019/08/08 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
如何理解python面向对象编程
2020/06/01 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
Python远程方法调用实现过程解析
2020/07/28 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
AP澳洲中文网:澳洲正品直邮,包税收件无忧
2019/07/12 全球购物
现场活动策划方案
2014/08/22 职场文书
信访维稳承诺书
2015/05/04 职场文书
2015年党总支工作总结
2015/05/25 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书