缓存原理--静态化

缓存原理--静态化

缓存的分类:

            ①程序缓存

            ②ob缓存

            ③浏览器缓存

如:

<?php
//ob_start();如果PHPini文件中开启了缓冲开关控制
echo str_repeat("&nbsp;",4096),'<br/>';
for ($i=0; $i < 10; $i++) { 
    //开启缓冲开关控制,也可以通过Phpini文件中设置
    echo $i.'<br/>';
    ob_flush();//直接输出缓冲内容,这个内容会发送到浏览器,浏览器也自带有缓冲控制功能
    flush();//设置浏览器不缓存
    sleep(1);

}

如果ini文件中如果设置了开启了缓冲开关,在php文件中ob_start()会关闭缓冲开关

捕捉PHP缓冲内容:

        ob_get_contents(): 获得缓冲区的内容.

$str = <<<HTML
    <h3>这是我在staticpage中获得的缓冲区数据</h3>

HTML;
echo $str;
$imessage=ob_get_contents();
file_put_contents("3.txt",$imessage);


        ob_clean();清空PHP源头的缓冲区内容.
        ob_get_clean();获得PHP缓冲区内容.并且清空缓冲区  

<?php
$str = <<<HTML
    <h3>这是我在staticpage中获得的缓冲区数据</h3>

HTML;
echo $str;
$imessage=ob_get_clean();
file_put_contents("3.txt",$imessage);

  总结:

        ob_start();开启缓冲。

        ob_flush();将PHP缓冲区内容发到Apache,再到浏览器。

        flush; 将浏览器里边的缓冲数据输出。

        ob_clean(); 将缓冲区的内容清除掉。

        ob_get_clean();将缓冲区的内容获得,之后清除掉缓冲区数据信息。

        ob_get_contents();获得PHP缓冲区内容。

        ob_end_flush():刷新缓冲区内容到程序缓存,并且清楚缓冲区内容,关闭ob

        flush:该函数将当前为止程序的所有输出发送到用户的浏览器。

       





你可能感兴趣的:(缓存原理--静态化)