实例讲解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 09 PHP
也谈 PHP 和 MYSQL
Oct 09 PHP
用php过滤危险html代码的函数
Jul 22 PHP
Windows下安装Memcached的步骤说明
Apr 25 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 PHP
php实现插入排序
Mar 29 PHP
ThinkPHP下表单令牌错误与解决方法分析
May 20 PHP
php-7.3.6 编译安装过程
Feb 11 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对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
Javascript读取cookie函数代码
2010/10/16 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
vue axios用法教程详解
2017/07/23 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
python写日志文件操作类与应用示例
2019/07/01 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
文秘应聘自荐书范文
2014/02/18 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
大学生自荐材料范文
2014/12/30 职场文书
事业单位个人总结
2015/02/12 职场文书
辞职信格式范文
2015/05/13 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
python 实现体质指数BMI计算
2021/05/26 Python
你需要掌握的20个Python常用技巧
2022/02/28 Python
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript