`
tiandirensoon
  • 浏览: 597130 次
文章分类
社区版块
存档分类
最新评论

PHP中的ob_start()

 
阅读更多
在PHP编程中, 我们经常会遇到一些直接产生输出的函数, 如passthru(),readfile(), var_dump() 等. 但有时我们想把这些函数的输出导入到文件中,或者先经过处理再输出, 或者把这些函数的输出作为字符串来处理.
这时我们就要用到 Output Buffer(输出缓冲) 函数了.

处理输出缓冲的函数主要有这么几个:

ob_start() 开始输出缓冲, 这时PHP停止输出, 在这以后的输出都被转到一个内部的缓冲里.

ob_get_contents() 这个函数返回内部缓冲的内容. 这就等于把这些输出都变成了字符串.

ob_get_ length() 返回内部缓冲的长度.

ob_end_flush() 结束输出缓冲, 并输出缓冲里的内容. 在这以后的输出都是正常输出.

ob_end_clean() 结束输出缓冲, 并扔掉缓冲里的内容.

举个例子, var_dump()函数输出一个变量的结构和内容, 这在调试的时候很有用.
但如果变量的内容里有 < , > 等HTML的特殊字符, 输出到网页里就看不见了. 怎么办呢?
用输出缓冲函数能很容易的解决这个问题.

ob_start();
var_dump($var);
$out = ob_get_contents();
ob_end_clean();


这时var_dump()的输出已经存在 $out 里了. 你可以现在就输出:

echo '<pre>' . htmlspecialchars($out) . '</pre>' ;

或者等到将来, 再或者把这个字符串送到模板(Template)里再输出

分享到:
评论

相关推荐

    php中 ob_start等函数截取标准输出的方法

    我想将PHP脚本中输出的东西收集在一起,于是使用了ob_start和ob_end_flush这两个函数,确实有达到收集输出内容的作用,但同时也将这些打印到了控制台界面中。我想问的是有没有办法,阻止PHP像控制台输出信息。该软件...

    PHP中ob_start函数的使用说明

    本文是对PHP中ob_start函数的使用方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    解析PHP中ob_start()函数的用法

    ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有”Header had all ready send by”的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区...

    php基于ob_start(ob_gzhandler)实现网页压缩功能的方法

    本文实例讲述了php基于ob_start(‘ob_gzhandler’)实现网页压缩功能的方法。分享给大家供大家参考,具体如下: PHP生成网页后传送给浏览器显示 ,页面的打开速度除了与用户的网速有关,往往也跟页面的大小有很关系,...

    PHP缓存技术详解 ob_start

    有些信息比方经常不变的,但是还是能变的信息放在缓存中以加快显示速度,这是很有价值的,所谓的缓存,通俗的理解就是一些保存在服务器端的共用信 息.它是于服务器同生死的,我们在保存缓存的时候可以指定下次更新的时间...

    PHP生成静态页面(ob_start+smarty)生成

    转载个PHP生成静态页面学习的资料,希望对学习PHP生成静态页面的朋友有帮助。

    PHP用法ob_start生成html页面的方法_.docx

    PHP用法ob_start生成html页面的方法_.docx

    用php的ob_start来生成静态页面的方法分析

    在开始之前还是提一下三个函数吧:”ob_start()、ob_end_clean()、ob_get_contents()” ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里; ob_get_contents():是读出缓冲区里的内容,下面...

    php缓冲 output_buffering和ob_start使用介绍

    主要介绍了php缓冲 output_buffering和ob_start的相关资料,需要的朋友可以参考下

    用PHP的ob_start();控制您的浏览器cache!

    【转载】原文地址:http://www.itbbs.cn/index.php?showtopic=1074 Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后...php ob_start(); //打开缓冲区 ech

    用PHP ob_start()控制浏览器cache、生成html实现代码

    ob_start(); //打开缓冲区 echo “Hello\n”; //输出 header(“location:index.php”); //把浏览器重定向到index.php ob_end_flush();//输出全部内容到浏览器 ?&gt; 所有对header()函数有了解的人都知道,这个函数

    php使用ob_start()实现图片存入变量的方法

    主要介绍了php使用ob_start()实现图片存入变量的方法,是对缓存的灵活运用,具有既定的参考借鉴价值,需要的朋友可以参考下

    php利用ob_start()清除输出和选择性输出的方法

    下面小编就为大家分享一篇php利用ob_start()清除输出和选择性输出的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    PHP使用ob_start生成html页面的方法

    主要介绍了PHP使用ob_start生成html页面的方法,对ob_start的用法做了较为详细的分析,并以实例总结了ob_start生成html页面的实现方法,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics