实例讲解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+MYSQL开发工具及资源收藏
Jan 02 PHP
PHP文件上传原理简单分析
May 29 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
深入解析phpCB批量转换的代码示例
Jun 27 PHP
php上传中文文件名乱码问题处理方案
Feb 03 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
PHP7数组的底层实现示例
Aug 25 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 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/10/09 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
javascript使用avalon绑定实现checkbox全选
2015/05/06 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
Django 限制访问频率的思路详解
2019/12/24 Python
python Tensor和Array对比分析
2020/01/08 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
python实现扫雷游戏的示例
2020/10/20 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
求职信格式范本
2013/11/15 职场文书
前台文员岗位职责
2013/12/28 职场文书
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
物流管理专业自荐信
2014/06/23 职场文书
离婚财产分配协议书
2014/10/21 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android
MongoDB数据库之添删改查
2022/04/26 MongoDB
Java 异步任务计算FutureTask
2022/04/28 Java/Android