全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用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的ob缓存机制实现页面静态化方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# php  # ob缓存  # PHP实现页面静态化深入讲解  # PHP页面静态化——纯静态与伪静态用法详解  # PHP单例模式数据库连接类与页面静态化实现方法  # 实例讲解PHP页面静态化  # PHP 实现页面静态化的几种方法  # 详解php实现页面静态化原理  # PHP实现页面静态化的超简单方法  # PHP实现HTML页面静态化的方法  # PHP页面静态化的优缺点与实现  # 给大家  # 但不  # 清空  # 几个  # 就会  # 放在  # 能在  # 希望能  # 不存在  # 所示  # 这篇  # 自带  # 报错  # 会再  # 会将  # 介绍一下  # 所需要  # 数据库中  # 小编  # 大家多多 


相关文章: 关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何选择高效响应式自助建站源码系统?  如何快速重置建站主机并恢复默认配置?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  建站之星多图banner生成与模板自定义指南  如何用y主机助手快速搭建网站?  如何快速生成橙子建站落地页链接?  ,制作一个手机app网站要多少钱?  建站之星3.0如何解决常见操作问题?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  如何通过VPS搭建网站快速盈利?  如何正确下载安装西数主机建站助手?  定制建站流程步骤详解:一站式方案设计与开发指南  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  行程制作网站有哪些,第三方机票电子行程单怎么开?  如何用狗爹虚拟主机快速搭建网站?  如何在香港服务器上快速搭建免备案网站?  制作公司内部网站有哪些,内网如何建网站?  详解jQuery中基本的动画方法  攀枝花网站建设,攀枝花营业执照网上怎么年审?  深圳网站制作的公司有哪些,dido官方网站?    制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何在服务器上三步完成建站并提升流量?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  如何通过主机屋免费建站教程十分钟搭建网站?  建站之星安装失败:服务器环境不兼容?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  建站之星安装后如何配置SEO及设计样式?  建站之星免费版是否永久可用?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何通过wdcp面板快速创建网站?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  再谈Python中的字符串与字符编码(推荐)  如何在万网主机上快速搭建网站?  大连 网站制作,大连天途有线官网?  如何快速生成凡客建站的专业级图册?  如何在IIS中配置站点IP、端口及主机头?  如何基于云服务器快速搭建个人网站?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  建站之星代理如何优化在线客服效率?  如何访问已购建站主机并解决登录问题?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  网站制作模板下载什么软件,ppt模板免费下载网站?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。