亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

分析php://output和php://stdout的區別

2024-05-05 00:03:33
字體:
來源:轉載
供稿:網友

PHP包含了以php://開頭的一系列輸出輸出流,如php://stdin, php://stdout等。今天查看代碼時,忽然想到一個問題:php://output和php://stdout有什么區別?

從PHP的官方文獻中找答案,對輸入流php://stdin和php://input的解釋分別如下(輸出流的解釋過于簡略):

php://stdin

php://stdin, php://stdout and php://stderr allow direct access to the corresponding input or output stream of the PHP process. The stream references a duplicate file descriptor, so if you open php://stdin and later close it, you close only your copy of the descriptor-the actual stream referenced by STDIN is unaffected. Note that PHP exhibited buggy behavior in this regard until PHP 5.2.1. It is recommended that you simply use the constants STDIN, STDOUT and STDERR instead of manually opening streams using these wrappers.

php://stdin is read-only, whereas php://stdout and php://stderr are write-only.

php://input

php://input is a read-only stream that allows you to read raw data from the request body. In the case of POST requests, it is preferable to use php://input instead of $HTTP_RAW_POST_DATA as it does not depend on special php.ini directives. Moreover, for those cases where $HTTP_RAW_POST_DATA is not populated by default, it is a potentially less memory intensive alternative to activating always_populate_raw_post_data. php://input is not available with enctype=”multipart/form-data”.

文檔并未直接闡述兩者的區別,仔細對比可得出以下信息:1. 均是只讀流; 2. php://stdin是PHP進程的標準輸入,php://input用來讀取請求正文的原始數據。通過這些信息,該如何正確認識兩者的本質區別?

順著php://stdin進程輸入的提示,聯想PHP進程的執行過程,再結合SAPI的差異,可以得到兩者主要區別:php://stdin是PHP進程的輸入流,執行生命周期內均可能有數據流入(例如CLI下的交互式輸入);php://input是PHP執行時的外部輸入流,一般數據只能讀一次(具體看SAPI的實現)。同理可得到php://stdout和php://output的區別:php://stdout是PHP進程的標準輸出流,php://output是返回的結果數據流。

下面用代碼驗證結論:

// file: test.phpfile_put_contents("php://output", "message sent by output" . PHP_EOL);file_put_contents("php://stdout", "message sent by stdout" . PHP_EOL);print("message sent by print" . PHP_EOL); echo "SAPI:" , PHP_SAPI , PHP_EOL;

命令行執行文件,輸出如下:

message sent by outputmessage sent by stdoutmessage sent by printSAPI:cli

瀏覽器端請求,輸出如下:

message sent by outputmessage sent by printSAPI:fpm-fcgi

在命令行下,PHP進程的標準輸出流和結果輸出流均指向終端,所有消息都打印出來。在瀏覽器端,PHP進程的輸出流被忽略,只有結果數據流被發送到web服務器。同時,print和echo調用的信息都作為執行結果發往結果輸出流,所以都正常顯示。

最后再感慨一下PHP內置函數的簡潔實用,一個file_put_contents函數就搞定流寫入操作,換Java需要stream/writer一堆代碼,也省去C風格的fopen/fwrite/fclose的繁瑣。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久亚洲网站| 久久久久久久久久久91| 欧美在线不卡区| 久久综合国产精品台湾中文娱乐网| 久久精品国产久精国产思思| 国产成人精品视频在线观看| 亚洲视频在线免费观看| 国产剧情久久久久久| 日本久久精品视频| 日韩欧美精品网站| 日韩中文视频免费在线观看| 最近2019年好看中文字幕视频| 亚洲精品国产电影| 日韩成人激情在线| 日韩视频免费中文字幕| 高清一区二区三区日本久| 色妞色视频一区二区三区四区| 国产精品美乳在线观看| 日韩成人在线播放| 亚洲色图欧美制服丝袜另类第一页| 色777狠狠综合秋免鲁丝| 欧美视频中文字幕在线| 国产精品一区二区三区毛片淫片| 日韩女优人人人人射在线视频| 狠狠操狠狠色综合网| 日韩精品免费观看| 欧美日韩国产91| 亚洲第一男人av| 在线亚洲男人天堂| 久久久女女女女999久久| 大桥未久av一区二区三区| 国产成人一区三区| 精品中文字幕在线2019| 亚洲精品在线不卡| 日本午夜人人精品| 亚洲аv电影天堂网| 久久久亚洲精品视频| 国产一区二区丝袜高跟鞋图片| 欧美亚洲在线观看| 国产精品私拍pans大尺度在线| 亚洲一区二区三区在线视频| 欧美另类在线观看| 成年无码av片在线| 欧美大片网站在线观看| 欧美中文在线观看| 色噜噜亚洲精品中文字幕| 国产精品亚洲一区二区三区| 日本久久中文字幕| 欧美成人性生活| 日韩av在线高清| 91精品国产色综合久久不卡98| 精品magnet| 在线视频欧美日韩精品| 最近2019中文字幕在线高清| 久久精品国产精品亚洲| 中文字幕亚洲图片| 日韩欧美一区视频| 国产精品一香蕉国产线看观看| 欧美一级bbbbb性bbbb喷潮片| 成人福利免费观看| 日韩精品久久久久久福利| 日韩精品在线视频美女| 欧美夫妻性视频| 久久视频在线免费观看| 欧美激情第99页| 精品久久久视频| 国产精品中文字幕久久久| 日韩精品999| 久久久久久久久综合| 欧美老少做受xxxx高潮| 欧美精品videosex牲欧美| 色综合久久天天综线观看| 日本欧美一级片| 亚洲精品一区中文| 久久中文久久字幕| 免费av在线一区| 日韩精品视频免费在线观看| 日本中文字幕成人| 久久久精品国产一区二区| 久久成人av网站| 久久久999精品视频| 国产精品入口日韩视频大尺度| 亚洲成人久久久| 亚洲男人天堂网站| 91精品国产免费久久久久久| 欧美激情中文字幕乱码免费| 91在线高清免费观看| 久久久精品久久久久| 色偷偷综合社区| 欧美特黄级在线| 欧美视频国产精品| 26uuu另类亚洲欧美日本老年| 伊人av综合网| 欧美日韩性生活视频| 一区二区在线视频| 欧美性xxxx极品高清hd直播| 欧美高清性猛交| 日韩av大片免费看| 中文字幕v亚洲ⅴv天堂| 亚洲国产欧美一区二区三区久久| 亚洲天天在线日亚洲洲精| 国产在线观看精品| 另类专区欧美制服同性| 久久九九热免费视频| 亚洲色图第一页| 久久久影视精品| 亚洲日韩第一页| 欧美精品在线免费观看| 日韩精品在线观看网站| 欧美劲爆第一页| 亚洲欧美三级在线| 91av网站在线播放| 亚洲精品天天看| 中文字幕免费国产精品| 色综久久综合桃花网| 美女精品视频一区| 国产日韩视频在线观看| 国内精品久久久久伊人av| 裸体女人亚洲精品一区| 精品久久久久久中文字幕一区奶水| 亚洲欧美三级在线| 色综合久久天天综线观看| 日本精品免费观看| 日韩av在线网页| 不卡av电影在线观看| 久久久久久久久久久国产| 久久久亚洲精品视频| 疯狂蹂躏欧美一区二区精品| 日韩在线观看免费网站| 91在线观看免费高清完整版在线观看| 国产日产久久高清欧美一区| 日韩亚洲欧美中文高清在线| 亚洲最大福利网| 最近2019中文字幕大全第二页| 亚洲美女精品成人在线视频| 欧美精品www在线观看| 91产国在线观看动作片喷水| 欧美体内谢she精2性欧美| 在线亚洲午夜片av大片| 国内精品国产三级国产在线专| 久久夜精品va视频免费观看| 日本午夜精品理论片a级appf发布| 全球成人中文在线| 亚洲精品乱码久久久久久金桔影视| 欧美国产激情18| 国产精品香蕉在线观看| 国产精品视频导航| 疯狂做受xxxx高潮欧美日本| 成人免费看片视频| 国产精品啪视频| 日本高清不卡在线| 日韩欧美一区二区在线| 欧美成人午夜激情视频| 日本道色综合久久影院| 国产91在线播放精品91| 国产欧美日韩精品专区| 国产在线播放91| 成人精品在线视频| 国产日韩欧美电影在线观看| 国产精品老牛影院在线观看| 久久久久成人网| 欧美精品videosex极品1| 国产精品免费一区豆花| www.日韩av.com|