关于PHP输出缓冲函数的一些使用技巧

简介: 在PHP中, Output Buffer输出缓冲函数可以将一些直接产生输出的函数, 如passthru(),var_dump() 等的结果导入到文件中,或者经过处理再输出, 或者作为字符串来处理,在PHP中,处理输出缓冲的函数主要有以下几个:
+关注继续查看

本文转自IT摆渡网欢迎转载,请标明出处
摆渡网

更多php文章请阅读

php问题解决

  在PHP中, Output Buffer输出缓冲函数可以将一些直接产生输出的函数, 如passthru(),var_dump() 等的结果导入到文件中,或者经过处理再输出, 或者作为字符串来处理,在PHP中,处理输出缓冲的函数主要有以下几个:

  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时间格式转换加减
关于服务器上PHP跟mysq还有JSl时间的问题
php+mysql分页原理案例分析
php把HTML代码转换成文本输出的方法

目录
相关文章
|
8月前
|
网络协议 NoSQL 应用服务中间件
php OSS 文件读取和写入文件,workerman 生成临时文件并输出浏览器下载
php OSS 文件读取和写入文件,workerman 生成临时文件并输出浏览器下载
438 0
|
10月前
|
PHP
php将数组输出为数组代码结构
php将数组输出为数组代码结构
46 0
|
10月前
|
PHP
php获取指定日期区间的所有日期,php输出指定范围的所有日期
php获取指定日期区间的所有日期,php输出指定范围的所有日期
189 0
|
PHP
PHP的输入与输出(input与$_GET[“key“])
PHP的输入与输出(input与$_GET[“key“])
118 0
PHP的输入与输出(input与$_GET[“key“])
|
JSON PHP 数据格式
php json_encode输出空白问题
今天数组json_encode转json的时候,输出一片空白,后来检查下php程序似乎没有出错,就是json_encode的时候出现了问题,那到底是什么问题呢
174 0
|
PHP
PHP函数运用之:利用数组方法输出文件的扩展名
在之前的文章中我们介绍了使用PHP实现给定年月日计算总天数的方法,感兴趣的可以点击链接进行查阅→《怎么通过PHP实现给定年月日计算总天数》。这次我们来介绍一下如何使用PHP获取文件的扩展名,有需要的朋友可以学习了解一下~ 我们有这样一个文件url:
86 0
|
JavaScript PHP
通过PHP将给定的字符串进行复制并输出新字符串
哈喽,大家好!在上一篇文章《你知道怎么在PHP中创建可选参数吗?》中给大家介绍了怎么在PHP中创建可选参数,感兴趣的朋友可以学习学习~ 今天本文将给大家介绍怎么通过PHP将给定的字符串进行复制并输出新字符串! 有的朋友可能还不太理解这个标题,什么复制?又输出新字符串? 不着急,大家看看问题的详细描述就知道了! 具体问题是“编写一个PHP程序来创建一个新字符串,该字符串是给定字符串的 n(非负整数)倍,比如字符串ab->变成ababab(可以说是原字符串的三倍)”?
196 0
|
PHP
php 输出语句
php有以下输出语句:1 echo 常用的输出语句,例如:echo 'helloworld!';2 print() 输出语句,有返回值。例如:print('helloworld!'); 输出成功返回1,失败返回0。
932 0
|
缓存 应用服务中间件 PHP
Nginx中的PHP缓冲问题
假设有如下代码: 按代码理解似乎应该是每过1秒钟,将输出一个数字,从10~1 (运行时间>10ms) 而使用nginx作为web服务器时,会发现上面的代码,在程序运行10ms后一次性输出了10~1   通过搜索,找到一段如下的说明: Nginx的FastCGI环境中,如果数据小于fastcgi_buffers,会缓存到内存中,如果数据小于fastcgi_max_temp_file_size,会缓存到硬盘上。
995 0
相关产品
云迁移中心
推荐文章
更多