php stdin是什么意思,php:// input和php:// stdin之间有什么区别?
不同之處在于您希望使用它們的環(huán)境. php:// stdin,php:// stdout和php:// stderr直接映射到相關(guān)的
POSIX file streams,旨在與CLI SAPI一起使用.另一方面,php:// input和php://輸出旨在用于基于Web的SAPI.
嘗試從命令行運(yùn)行這兩個(gè)命令:
printf "foo" | php -r "var_dump(file_get_contents('php://stdin'));"
printf "foo" | php -r "var_dump(file_get_contents('php://input'));"
你會(huì)得到這樣的輸出:
Command line code:1:
string(3) "foo"
Command line code:1:
string(0) ""
因?yàn)閜hp://輸入期望被WebI使用,如CGI或mod_php,并且不會(huì)獲得傳遞給它的STDIN的內(nèi)容.同樣,嘗試使用php:// stdin讀取原始POST數(shù)據(jù)(php://輸入的唯一實(shí)際用途)將失敗.
php://輸出通??梢栽趦煞N環(huán)境中使用,但它很少使用,因?yàn)榭梢院唵蔚鼗仫@輸出. php:// stdout是命令行代碼更合理的選擇,盡管再次使用echo通常更容易.
php:// stderr對(duì)于需要將信息,調(diào)試或錯(cuò)誤消息輸出到與程序輸出不同的流的命令行程序員來說當(dāng)然是無價(jià)之寶.
總結(jié)
以上是生活随笔為你收集整理的php stdin是什么意思,php:// input和php:// stdin之间有什么区别?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: base64链接转为地址php,php将
- 下一篇: 动态规划算法php,php算法学习之动态