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

yipeiwu_com6年前PHP代码库

最近在用PHP在cli下开发一款软件,遇到了这样的问题。我想将PHP脚本中输出的东西收集在一起,于是使用了ob_start和ob_end_flush这两个函数,确实有达到收集输出内容的作用,但同时也将这些打印到了控制台界面中。我想问的是有没有办法,阻止PHP像控制台输出信息。该软件原则上是不允许向控制台打印任何东西的。

php-cli本身脱离web服务器执行脚本,我不知道你现在获取到的数据是怎么拿到的?如果你不是通过cli执行php程序返回的值拿到的,那么可以使用ob_get_clean()

他会获取缓存内容后清除缓存区,这样可以达到你说的不显示到显示界面的效果

当然你也可以获取到缓冲区内容,然后清空(控制不要输出到控制台),然后将内容falsh到web服务器上做处理

按照以上方法已经搞定了。之前有用过这个系列的函数,太久不用,有些忘了。

现在在做的是一个基于PHP的多进程HTTP动态服务器。毕业论文,试验品而已,没什么实用性。

php-cgi程序执行结果是标准输入输出,所以只能用获取标准输入输出的方式截取输出结果,管道应该也可以,不过我不会

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

php中有关合并某一字段键值相同的数组合并的改进

下面是实现代码: /** **关于参数的说明 **$key键值相同的键名 **$array代表原数组 **$start代表$array[0][$key] **$newkey代表相同键...

php生成shtml类用法实例

本文实例讲述了php生成shtml类及其用法。分享给大家供大家参考。具体如下: 复制代码 代码如下:<?php  class Shtml{   va...

PHP实现的日历功能示例

PHP实现的日历功能示例

本文实例讲述了PHP实现的日历功能。分享给大家供大家参考,具体如下: <?php /* * Created by PhpStorm. * User: admin...

PHP递归的三种常用方式

递归:函数自己调用自己的一种编程方法,类似于循环,所以递归调用的函数中必须有终止条件,否则就会成为死循环 无限级:其实并不是真正的无限级,只是层级不确定,所以我们称之为无限级 因为常用递...

php输出含有“#”字符串的方法

本文实例讲述了php输出含有“#”字符串的方法。分享给大家供大家参考,具体如下: 因为#在php中是注释,无法正常输出,需要转换和处理。 输出页: <? functi...