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 相关文章推荐
Windows IIS PHP 5.2 安装与配置方法
Jun 08 PHP
php处理json时中文问题的解决方法
Apr 12 PHP
PHP页面中文乱码分析
Oct 29 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
PHP 之 写时复制介绍(Copy On Write)
May 13 PHP
PHP加密解密实例分析
Dec 25 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
Sep 30 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 setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
element中的$confirm的使用
2020/04/26 Javascript
Python入门篇之列表和元组
2014/10/17 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
大学生活动策划方案
2014/02/10 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
财务担保书范文
2014/04/02 职场文书
城管大队整治方案
2014/05/06 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
少先队活动总结
2014/08/29 职场文书
2019各种承诺书范文
2019/06/24 职场文书
python缺失值的解决方法总结
2021/06/09 Python
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
Python3.10的一些新特性原理分析
2021/09/15 Python
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫