ob 函数的使用
1. 页面静态化 $id = isset($_GET['id'])?$_GET['id']-0:0;
$filename = "html/".date("Ymd")."/news-id".$id.".html";
if(!file_exists("html/".date("Ymd"))){
mkdir("html/".date("Ymd"));
}
echo $filename;
if(!file_exists($filename) || filemtime($filename)+60<time()){
ob_start();
require "conn.php";
$sql = "select * from news where id='$id'";
$res = $db->query($sql);
$row = $res->fetch_assoc();
if($row){
echo "<table border='1'>";
echo "<tr>";
echo "<td>ID</td>";
echo "<td>标题</td>";
echo "<td>内容</td>";
echo "</tr>";
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['title']."</td>";
echo "<td>".$row['content']."</a></td>";
echo "</tr>";
echo "</table>";
}else{
echo "没有数据";
}
$content = ob_get_contents();
ob_end_clean();
file_put_contents($filename,$content);
} require $filename; 2. 因为原来的php是按脚本顺序执行的 如果前面输出了内容 ,执行到后面又想对前面已经输出的内容要修改,这时候就有用
用法示例 $buffer  为缓存内容
<?php

function callback($buffer)
{
// replace all the apples with oranges
return (str_replace("apples", "oranges", $buffer));
} ob_start("callback"); ?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php ob_end_flush(); ?>


ob 函数的使用的更多相关文章

  1. 结合php ob函数理解缓冲机制

    对于一个刚刚入门的php程序员来说,php缓冲区是几乎透明的.在他们心目中,一个echo print_r 函数,数据便会‘嗖’的一声飞到浏览器上,显示出来.我也一直如此单纯地认为. 其实,在技术的世界 ...

  2. 利用PHP的ob函数实现生成静态化页面

    之前用过一些开源的CMS管理系统,当时就很好奇后台中的生成HTML静态文件是怎么实现的.今天和同事讨论了下,没想到同事之前做过这类的生成静态页面的功能,果断向他请教了下. 经他讲解后,才知道其实生成静 ...

  3. php的ob函数实现页面静态化

    首先介绍一下php中ob缓存常用到的几个常用函数ob_start():开启缓存机制ob_get_contents():获取ob缓存中的内容ob_clean()清除ob缓存中的内容,但不关闭缓存ob_e ...

  4. ob 函数讲解

    ob的基本原则:如果ob缓存打开,则echo的数据首先放在ob缓存.如果是header信息,直接放在程序缓存.当页面履行到最后,会把ob缓存的数据放到程序缓存,然后依次返回给涉猎器.下面我说说ob的基 ...

  5. php基础知识【函数】(7)url和ob函数

    一.URl函数 1.urlencode -- 编码 URL 字符串 2.urldecode -- 解码已编码的 URL 字符串 3.rawurlencode -- 按照 RFC 1738 对 URL ...

  6. OB函数

    ob_start                    打开输出控制缓冲 ob_get_contents        返回输出缓冲区内容 ob_clean                   清空( ...

  7. PHP中ob系列函数整理

    ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担. 下面我说说ob的基本 ...

  8. PHP输出缓存ob系列函数

    ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担. ob的基本原则:如果 ...

  9. PHP输出缓存ob系列函数详解

    PHP输出缓存ob系列函数详解 ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额 ...

随机推荐

  1. 如何改变输出方式(让printf输出结果保存到TXT文本中)

    查阅相关资料,汇总如下: #include <stdio.h> #include <stdlib.h> int main() { char money= 's'; char a ...

  2. Oracle PL/SQL游标

    游标的提出: SQL是面向集合的,其结果一般是集合量(多条记录),而PL/SQL的变量一本是标量,其一组变量异常一直只能存放一条记录.所以仅仅使用变量并不能完全满足SQL语句向应用程序输出数据的要求. ...

  3. ORACLE SQL 函数 INITCAP()

    INITCAP() 假设c1为一字符串.函数INITCAP()是将每个单词的第一个字母大写,其它字母变为小写返回. 单词由空格,控制字符,标点符号等非字母符号限制. select initcap('h ...

  4. Oracle12c版本中未归档隐藏参数

    In this post, I will give a list of all undocumented parameters in Oracle 12.1.0.1c. Here is a query ...

  5. vue-navigation 实现前进刷新,后退不刷新

    vue-navigation GitHub地址 导航默认行为类似手机APP的页面导航(A.B.C为页面): A前进到B,再前进到C: C返回到B时,B会从缓存中恢复: B再次前进到C,C会重新生成,不 ...

  6. zk 创建瞬时、顺序节点的原理

    命令: create -s -e /worker/lock xx zk 的实现代码在:PrepRequestProcessor.pRequest2Txn 中 //The number of chang ...

  7. 把旧系统迁移到.Net Core 2.0 日记(6) MapRoute/Area/ViewPath

    我想实现 http://localhost:5000/{moduleName}/{controller}/{action}/{id?} 这样的url. 有2个方法 方法1: 在路由里设置多个modul ...

  8. 开发环境转Mac FAQ

    vs2017 for mac, 默认的源代码管理工具是git, 不是svn, 安装source tree,注册bitbucket(免费1G私有空间),整合的比较好(国内的码云也能支持,不过是用账号密码 ...

  9. 中国队再创佳绩,IOI2018喜获四金

    第30届国际信息学奥林匹克竞赛(IOI2018)于9月1日-8日在日本筑波举行,共有来自87个国家(地区)的335名选手参赛.    中国代表队四名选手经过努力拼搏,获得金牌.其中,杨懋龙(湖南长沙市 ...

  10. Linux运维工程师必学必备的8项IT技能

    如果你在学习Linux,那么强烈推荐你选择RHEL和Centos作为学习的Linux发行版本,在公司及企业当中他们是使用最多的,毕竟学习除了本身是爱好,其次也是为了就业.Centos是RHEL的克隆版 ...