当前位置: 首页 > news >正文

php静态页缓存,php处理静态页面:页面设置缓存时间图文详解

本篇文章主要介绍php处理静态页面:页面设置缓存时间图文详解,感兴趣的朋友参考下,希望对大家有所帮助。

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

1.页面添加缓存时间

2.手动触发的方式

3.crontab定时扫描程序

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

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

if( 如果存在这个静态文件 && 没有过期){

// 获取页面

}else{

// 重新生成一份静态页面

}

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

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'].'
';

}

// 开始生成静态页面文件

file_put_contents('index.html',ob_get_contents());

}

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

相关推荐:

轻松编写PHP静态页面_PHP教程

php使用标签替换的方式生成静态页面,php静态页面_PHP教程

使用PHP实现生成HTML静态页面,php静态页面_PHP教程

相关文章:

  • java 数据的储存,java数据储存方式详解
  • helpers.php,helpers.php
  • python下载package失败,pip安装packag失败
  • php ieee754,在 Go 中探索 IEEE-754 标准
  • oracle+数据结构+字典,ORACLE 数据字典
  • liunx php libiconv-1.14 扩展库地址,编译安装php之安装libiconv-1.14.tar.gz出错解决方法...
  • Oracle标量子查询执行计划,性能为王:SQL标量子查询的优化案例分析
  • oracle insert和update,INSERTUPDATE和MERGE (转)
  • 有关oracle的论文,Oracle数据库研究论文有关Oracle数据库的论文
  • linux rocketmq 命令,Linux下安装RocketMQ(单Master)
  • linux 查看 文件夹代销,速达常见问题集
  • 斑马打印机linux驱动安装教程,热敏打印机安装驱动教程
  • linux串口设置1843200波特率,串口通信程序设计
  • linux安装sw软件,Linux 下安装python软件包(pip、nose、virtualenv、distribute )
  • linux绕过时间检测,使用linux的clockdiff命令检测两台linux主机的时间差
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Idea+maven+scala构建包并在spark on yarn 运行
  • php的插入排序,通过双层for循环
  • Redis学习笔记 - pipline(流水线、管道)
  • yii2权限控制rbac之rule详细讲解
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 从0实现一个tiny react(三)生命周期
  • 从伪并行的 Python 多线程说起
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 系统认识JavaScript正则表达式
  • 学习Vue.js的五个小例子
  • 【云吞铺子】性能抖动剖析(二)
  • ​zookeeper集群配置与启动
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​学习一下,什么是预包装食品?​
  • #《AI中文版》V3 第 1 章 概述
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #if等命令的学习
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (20050108)又读《平凡的世界》
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (笔试题)合法字符串
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (三)Honghu Cloud云架构一定时调度平台
  • (顺序)容器的好伴侣 --- 容器适配器
  • (学习总结)STM32CubeMX HAL库 学习笔记撰写心得
  • (一)UDP基本编程步骤
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转)甲方乙方——赵民谈找工作
  • (转)一些感悟
  • ./configure、make、make install 命令
  • .net core 的缓存方案
  • .net wcf memory gates checking failed
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .Net插件开发开源框架