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


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

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

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

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

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

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

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

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



相关阅读:
Discuz7.2版的faq.php SQL注入漏洞分析
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Cocos2d-x中实现弹出对话框示例
JavaScript函数柯里化详解
Android中的android:layout_weight使用详解
mysql 5.7.13 winx64安装配置方法图文教程
win10怎样设置和使用邮件应用?win10系统邮件应用设置和使用的方法
基于Android中的 AutoCompleteTextView实现自动填充
php显示指定目录下子目录的方法
在ASP.NET 2.0中操作数据之六十八:为DataTable添加额外的列
使用java处理字符串公式运算的方法
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
win7系统安全无损调整分区大小的详细教程
Android应用中使用ViewPager和ViewPager指示器来制作Tab标签
快速导航

Copyright © 2016 phpStudy |