怎么用php的ob缓存机制实现页面静态化方法

下面编程学习网小编就为大家带来一篇利用php的ob缓存机制实现页面静态化方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 首先介绍一下php中ob缓存常用到的几个常用函数 ob_start():开启缓存机制
下面编程学习网小编就为大家带来一篇利用php的ob缓存机制实现页面静态化方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
首先介绍一下php中ob缓存常用到的几个常用函数
ob_start():开启缓存机制
ob_get_contents():获取ob缓存中的内容
ob_clean()清除ob缓存中的内容,但不关闭缓存
ob_end_clean() 清除ob缓存中的内容,并关闭缓存
ob_flush 清空缓存,输出内容,但不关闭缓存
ob_end_flush 清空缓存,输出内容,并关闭缓存
flush强制刷新输出缓存中的内容

按照http协议的规定,回应内容不能在回应头之前输出,所以,如果在header()函数前面有内容输出,就会出现错误,但使用了ob_start()后就会将回应内容先放在ob缓存中,不会再消息头发送之前被发送,就解决了header()报错的问题!
下面说一下用php自带的ob缓存机制实现页面静态化的方法,示例代码如下
<?php
$id=$_REQUEST['id'];
//判断缓存文件是否存在,如果存在,直接输出
if(file_exists('content'.$id.'.html')){
echo file_get_contents('content'.$id.'.html');
return;
}
//开启缓存机制
ob_start();
//到数据库中查询所需要的内容
$conn=mysql_connect("localhost","root","root");
mysql_select('db');
mysql_query('set names utf8');
$sql="select content from table_name where id=$id";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
$content=$row[0];
mysql_free_result($res);
mysql_close($conn);
echo $content;
//将输出的内容保存到文件中,形成静态页面,在下次访问的时候,直接读取输出
file_put_contents('content'.$id.'.html',ob_get_contents());
?>
如上述代码所示:
将我们查询到的内容直接保存到html文件中,如果文件存在,之间输出,如果不存在,则访问数据库,执行对应的查询过程
如果要设置文件的过期时间,可以在if语句里面加一个判断条件,用于判断缓存文件是否过期,time()-设置的过期时间
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

php安装grpc扩展的具体步骤 1.在php.ini文件中添加grpc扩展配置:extension=grpc.so git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc cd grpc git submodule update --init make make install cd src/php/ext/grpc phpize ./co
php回溯算法计算组合总和的实例代码 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用一次. 说明 所有数字(包括目标数)都是正整数. 解集不能包含重复的组
php实现自运行的实例详解 说明 1.创建一个PHP示例文件:然后输入ignore_user_abort();. 2.通过do{$fp = fopen('test.php','a')...}while(true)...方法实现任务自动执行即可. 关于PHP代码如何自动执行,我们通常做定时任务需要做到代码自动执行,往往会借助系统来
PHP解决输出中文乱码问题讲解 解决 PHP 输出中文乱码的问题 问题描述 今天给导航狗(https://daohanggou.cn/)的 PHP 程序和数据库文件迁移了服务器, 但是迁移到新的服务器上之后 PHP 输出的中文和 PHP 输出的从 MySQL 数据库查询出来的数据中的中文都出现
MySQL并发能力强、响应速度快,是性能优异的数据库软件;PHP是功能强大的服务器端脚本语言下面,以一个简单的聊天室设计为例,介绍PHP+MySQL在网页开发中的应用。 总体设计 1. 1 构思与规划: 聊天室的基本原理,就是把每个连上同一网页的用
PHP实现如何分辨全角和半角以避免乱码,实现函数如下。原理就是截断一个字符,看看其ascII码是不是大于128,如果是,说明截断的是一个全角汉字,那么就退后一个截断。用$length控制长度 备注:循环判断字符串里面的 128 的字符个数,如果半角