cnq 发表于 2018-12-15 10:10:50

php输出缓存控制

  一、什么是缓冲区?

  答:就是把输入或者输出的内容先放进内存,而不显示或者读取,作用:协调高速CPU和相对缓慢的IO设备(磁盘等)的运作。
  二、什么是php 输出缓存控制(Output Control)
  答:由于输出php类似echo输出的时候,首先输出到php buffer里面的。所以我们可以控制这个缓存里面的数据了。
  三、php执行过程原理
当执行PHP的时候,如果碰到了echo print_r之类的会输出数据的代码,PHP就会将要输出的数据放到PHP自身的缓冲区,等待输出。
当PHP自身的缓冲区接到指令,指示要输出缓冲区的内容时,将会把缓冲区内的数据输出到apache上,apache接受到PHP输出的数据,然后再把该数据存在到apache自身的缓冲区内,等到输出
当apache接受到指令,只是要输出缓冲区的内容时, 将会把缓冲区的内容输出,返回到浏览器。
由此可见,PHP要输出数据的时候,将会经过两个缓冲区(先是自身的,然后是apache的),再返回到浏览器。
四、实例如下:
1.
  ***************************************
  echo "hello word "; //向浏览器输出hello word
  $content = ob_get_contents(); //返回php缓冲区的内容
  var_dump($content);//打印php缓冲区的内容。
  结果是:
  hello word
string(16) "hello word"
  这是说明缓冲区里面是有数据。也就是先进来php缓冲区的。
  ***************************************
  

  参照以下网址学习

[*]  http://www.iyunv.net/article/68780.htm
[*]  http://blog.csdn.net/adslcom/article/details/8282342
[*]  http://www.cnblogs.com/liuzhang/p/4161213.html




页: [1]
查看完整版本: php输出缓存控制