php中 ob_start等函數(shù)截取標(biāo)準(zhǔn)輸出的方法
最近在用PHP在cli下開發(fā)一款軟件,遇到了這樣的問題。我想將PHP腳本中輸出的東西收集在一起,于是使用了ob_start和ob_end_flush這兩個(gè)函數(shù),確實(shí)有達(dá)到收集輸出內(nèi)容的作用,但同時(shí)也將這些打印到了控制臺(tái)界面中。我想問的是有沒有辦法,阻止PHP像控制臺(tái)輸出信息。該軟件原則上是不允許向控制臺(tái)打印任何東西的。
php-cli本身脫離web服務(wù)器執(zhí)行腳本,我不知道你現(xiàn)在獲取到的數(shù)據(jù)是怎么拿到的?如果你不是通過cli執(zhí)行php程序返回的值拿到的,那么可以使用ob_get_clean()
他會(huì)獲取緩存內(nèi)容后清除緩存區(qū),這樣可以達(dá)到你說(shuō)的不顯示到顯示界面的效果
當(dāng)然你也可以獲取到緩沖區(qū)內(nèi)容,然后清空(控制不要輸出到控制臺(tái)),然后將內(nèi)容falsh到web服務(wù)器上做處理
按照以上方法已經(jīng)搞定了。之前有用過這個(gè)系列的函數(shù),太久不用,有些忘了。
現(xiàn)在在做的是一個(gè)基于PHP的多進(jìn)程HTTP動(dòng)態(tài)服務(wù)器。畢業(yè)論文,試驗(yàn)品而已,沒什么實(shí)用性。
php-cgi程序執(zhí)行結(jié)果是標(biāo)準(zhǔn)輸入輸出,所以只能用獲取標(biāo)準(zhǔn)輸入輸出的方式截取輸出結(jié)果,管道應(yīng)該也可以,不過我不會(huì)
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- php字符串截取問題
- PHP截取漢字亂碼問題解決方法mb_substr函數(shù)的應(yīng)用
- PHP中文處理 中文字符串截取(mb_substr)和獲取中文字符串字?jǐn)?shù)
- php從右向左/從左向右截取字符串的實(shí)現(xiàn)方法
- php字符串截取的簡(jiǎn)單方法
- php截取中文字符串不亂碼的方法
- Thinkphp模板中截取字符串函數(shù)簡(jiǎn)介
- php對(duì)包含html標(biāo)簽的字符串進(jìn)行截取的函數(shù)分享
- php mb_substr()函數(shù)截取中文字符串應(yīng)用示例
- php截取指定2個(gè)字符之間字符串的方法
相關(guān)文章
PHP的array_diff()函數(shù)在處理大數(shù)組時(shí)的效率問題
PHP 5.2.6 以上版本的 array_diff() 函數(shù)在處理大數(shù)組時(shí),需要花費(fèi)超長(zhǎng)時(shí)間,這個(gè) bug 已經(jīng)被官方確認(rèn);在這個(gè)問題被修復(fù)之前或者在我們不能控制 PHP 版本的時(shí)候,可以使用本文提供的方法2011-11-11
幾個(gè)實(shí)用的PHP內(nèi)置函數(shù)使用指南
本文給大家推薦了7個(gè)不經(jīng)常被用到,但實(shí)際很實(shí)用,功能很強(qiáng)大的php內(nèi)置函數(shù),用好了,可以省去小伙伴們很多的時(shí)間的。2014-11-11
PHP實(shí)現(xiàn)的激活用戶注冊(cè)驗(yàn)證郵箱功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的激活用戶注冊(cè)驗(yàn)證郵箱功能,詳細(xì)分析了php郵件激活用戶所涉及的數(shù)據(jù)庫(kù)、郵件相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
php提交post數(shù)組參數(shù)實(shí)例分析
這篇文章主要介紹了php提交post數(shù)組參數(shù)的用法,結(jié)合實(shí)例分析了php使用post進(jìn)行參數(shù)提交的相關(guān)技巧,需要的朋友可以參考下2015-12-12
深入file_get_contents函數(shù)抓取內(nèi)容失敗的原因分析
本篇文章是對(duì)file_get_contents函數(shù)抓取內(nèi)容失敗的原因進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

