实例讲解PHP页面静态化


Posted in PHP onFebruary 05, 2018

页面静态化,顾名思义是将动态的PHP转化为静态的Html,流程如下图

实例讲解PHP页面静态化

用户访问index.php,如果存在index.html且在有效期内,则直接输出index.html,否则去生成index.html

file_put_contents()输出静态文件

ob_start()开启PHP缓冲区

ob_get_contents()获取缓冲区内容

ob_clean()清空缓冲区

ob_get_clean()相当于ob_get_contents()+ob_clean()

代码示例

<?php

if (file_exists('./html/index.html') && time() - filectime('./html/index.html') < 30) {
 require_once './html/index.html';
} else {
 // 引入数据库配置
 require_once "./config/database.php";
 // 引入Medoo类库
 require_once "./libs/medoo.php";
 // 实例化db对象
 $db = new medoo($config);
 // 获取数据
 $users = $db->select('user', ['uid', 'username', 'email']);
 // 引入模板
 require_once "./templates/index.php";
 // 写入html
 file_put_contents('./html/index.html', ob_get_contents());
}
PHP 相关文章推荐
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
Jun 19 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
Jul 30 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
使用Codeigniter重写insert的方法(推荐)
Mar 23 PHP
总结一些PHP中好用但又容易忽略的小知识
Jun 02 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP使用ActiveMQ实例
Feb 05 #PHP
详解PHP中mb_strpos的使用
Feb 04 #PHP
详解PHP文件的自动加载(autoloading)
Feb 04 #PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 #PHP
PHP实现正则表达式分组捕获操作示例
Feb 03 #PHP
php实现解析xml并生成sql语句的方法
Feb 03 #PHP
PHP删除数组中指定下标的元素方法
Feb 03 #PHP
You might like
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
vue resource post请求时遇到的坑
2017/10/19 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
Python生成随机数组的方法小结
2017/04/15 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
python学生管理系统
2019/01/30 Python
python安装pil库方法及代码
2019/06/25 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
美国最大和最受信任的二手轮胎商店:Bestusedtires.com
2020/06/02 全球购物
美发店5.1活动方案
2014/01/24 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
公司2014年度工作总结
2014/12/10 职场文书
初一英语教学反思
2016/02/15 职场文书
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS