`

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)里再输出

轉載於: http://www.phpchina.com/html/05/29605-21042.html
分享到:
评论

相关推荐

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

    `ob_start()`是PHP中用于开启输出缓冲区的函数,它会将程序生成的所有输出存储在内存中,而不是立即发送到浏览器。这使得我们可以在程序执行完毕后再一次性处理这些内容,例如将它们写入文件或进行其他处理。 `ob...

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

    本文旨在探讨如何通过PHP中的`ob_start();`函数来控制浏览器缓存,这对于优化网站性能、减少网络流量以及改善用户体验等方面具有重要意义。 #### 详细知识点分析 ##### 一、Output Control 函数概览 Output ...

    ob_start(),ob_start(ob_gzhandler)使用

    ob_start()是PHP中的一个输出控制函数,用来启动输出缓冲。当ob_start()函数被激活后,所有的输出,包括HTML标记和文本,都会暂时保存到一个内部的缓冲区中,而不是直接发送到浏览器。使用ob_start()的一个好处是...

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

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

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

    在PHP中,`ob_start()`是一个非常重要的输出控制函数,它用于启动输出缓冲。输出缓冲允许我们在发送HTTP头之前生成HTML内容,这对于某些场景,比如创建静态HTML页面或者处理动态内容的输出顺序,是非常有用的。当`ob...

    关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解

    PHP输出缓冲函数主要包括ob_start(), ob_get_contents(), ob_end_clean(), ob_get_clean()等,这些函数在Web开发中非常有用,能够有效地管理输出的内容,特别是在进行复杂的输出操作或文件传输时。下面将详细介绍...

    PHP中ob_start函数的使用说明

    在PHP编程语言中,`ob_start`函数是一个非常重要的输出控制函数,用于开启输出缓冲机制。这个函数允许你在脚本的任何位置输出内容,而不用担心这些输出会影响之前或之后发送的HTTP头部信息,如`header()`函数。这是...

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

    在PHP编程中,`ob_start()` 是一个非常重要的输出控制函数,它用于开启输出缓冲机制。这个函数的主要作用是将脚本的输出暂时存储在内存中,而不是立即发送到浏览器。这种机制允许开发者在需要的时候对输出进行处理,...

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

    在PHP中,`ob_start()` 和 `ob_gzhandler()` 函数配合使用可以实现网页内容的GZIP压缩,有效地减小了网页的大小。 `ob_start()` 是PHP的输出控制函数,它开启了一个输出缓冲区,允许脚本在实际发送到浏览器之前处理...

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

    在PHP编程中,`ob_start()` 是一个非常实用的内置函数,它用于启动输出缓冲。输出缓冲允许程序临时存储输出,而不是直接发送到浏览器。它通常用于处理HTML代码,例如,可以在输出前对其进行修改或清洗,以及用于页面...

    php缓冲 output_buffering和ob_start使用介绍

    本文将介绍PHP中的output_buffering机制以及ob_start函数的使用,这两个功能都与PHP缓冲技术息息相关。 首先,我们需要理解什么是缓冲。缓冲(buffer)是一块内存区域,用于在不同速度的设备或不同优先级的进程之间...

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

    `ob_start()` 函数开启输出缓冲区,这意味着在PHP脚本运行过程中产生的任何输出(例如HTML、CSS或JavaScript)都不会立即发送到浏览器,而是被存储在内存中的缓冲区。这使得我们有机会在所有输出完成后再一次性处理...

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

    总结起来,`ob_start()`函数在PHP中主要用于控制输出流,结合GD库可以实现将处理后的图片数据存储到变量,这在某些特定应用场景中非常有用,例如图片数据的数据库存储、图片编码转换等。但务必注意资源管理,避免...

    php中ob_get_length缓冲与获取缓冲长度实例

    本文实例讲述了php中ob_get_length缓冲与获取缓冲长度的方法。分享给大家供大家参考。具体方法如下: file_get_contents&#40;&#41; 函数把整个文件读入一个字符串中,和 file&#40;&#41; 一样,不同的是 file_get_...

Global site tag (gtag.js) - Google Analytics