PHP静态文件缓存

ob_start();
2 echo 'aaa';
3 $string = ob_get_contents();
4 file_put_contents('a.html', $string);
5 ob_flush();

6 flush();与缓冲区有关的函数

  1.ob_implicit_flush 打开或关闭绝对刷新
    使用过Perl的人都知道$|=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,
默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush()
  2.flush
    刷新缓冲区的内容,输出,将释放出来的数据发送给浏览器
  3.ob_start 打开输出缓冲区
    当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,
可以使用ob_end_flush()或flush()输出缓冲区的内容。
  4.ob_flush
    刷新PHP自身的缓冲区,把数据从PHP的缓冲(buffer)中释放出来
  5.ob_clean
    清除php缓冲区里面的内容
  6.ob_end_clean
    清除php缓冲区内的内容,并且关闭输出缓冲区
  7.ob_end_flush
    发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。
  8.ob_get_clean
    得到当前缓冲区的内容并删除当前输出缓冲区
  9.ob_get_contents 返回内部缓冲区的内容
    这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。
  10.ob_get_flush
    获取缓冲区里的内容, 刷出(送出)缓冲区内容,以字符串形式返回内容,并关闭输出缓冲区。
  11.ob_get_length
    这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活。则返回
  12.ob_list_handlers
    获取运行ob_start时,所回调的函数名称, 例如:
    ob_start('ob_gzhandler');
    print_r(ob_list_handlers);
    将打印出ob_gzhandler;
  13.ob_gzhandler
    该函数的作用是作为ob_start的回调参数, 在缓冲区刷新之前,会调用该函数对数据进行到底gzip或者deflate压缩.这个函数需要zlib扩展的支持.

ob_end_flush只是把php buffer中的数据传送到浏览器,而ob_clean_clean将php bufeer中的数据清空,但不发送给客户端浏览器。

posted @ 2019-01-01 20:28  sfornt  阅读(399)  评论(0编辑  收藏  举报