实例讲解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扩展ZF――Validate扩展
Jan 10 PHP
PHP UTF8编码内的繁简转换类
Jul 20 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
PHP5.5在windows安装使用memcached服务端的方法
Apr 16 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
PHP云打印类完整示例
Oct 15 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
利用PHP获取网站访客的所在地位置
Jan 18 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 PHP
用PHP的反射实现委托模式的讲解
Mar 22 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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
php 启动报错如何解决
2014/01/17 PHP
php不写闭合标签的好处
2014/03/04 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
php常量详细解析
2015/10/27 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
2014/06/16 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
2015/11/17 Javascript
vue之nextTick全面解析
2017/05/17 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
Python 详解基本语法_函数_返回值
2017/01/22 Python
快速了解Python中的装饰器
2018/01/11 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
Python读写锁实现实现代码解析
2020/11/28 Python
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
Skyscanner波兰:廉价航班
2017/11/07 全球购物
开业庆典邀请函
2014/01/08 职场文书
少先队入队活动方案
2014/02/08 职场文书
房屋维修协议书范本
2014/09/25 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫
配置nginx负载均衡
2022/05/06 Servers