PHP輸入輸出流學(xué)習(xí)筆記
PHP輸入和輸出流是通過php://來訪問的,它允許訪問 PHP 的輸入輸出流、標(biāo)準(zhǔn)輸入輸出和錯(cuò)誤描述符, 內(nèi)存中、磁盤備份的臨時(shí)文件流以及可以操作其他讀取寫入文件資源的過濾器。
php://stdin, php://stdout 和 php://stderr
php://stdin,php://stdout 和 php://stderr允許訪問 PHP 進(jìn)程相應(yīng)的輸入或者輸出流。
php://input
php://input 是個(gè)可以訪問請(qǐng)求的原始數(shù)據(jù)的只讀流。 POST 請(qǐng)求的情況下,最好使用 php://input 來代替 $HTTP_RAW_POST_DATA(原生的post數(shù)據(jù)),因?yàn)樗灰蕾囉谔囟ǖ?php.ini 指令,內(nèi)存消耗更少。如下例:
<form action="" method="post"> <input type="text" name="test" > <input type="submit" name="" /> </form> <?php echo file_get_contents("php://input"); ?>
結(jié)果:
php://output
php://output 是一個(gè)只寫的數(shù)據(jù)流, 允許你以 print 和 echo 一樣的方式 寫入到輸出緩沖區(qū)。
php://fd
php://fd 允許直接訪問指定的文件描述符。 例如 php://fd/3 引用了文件描述符 3。
php://memory 和 php://temp
php://memory 和 php://temp 是一個(gè)類似文件 包裝器的數(shù)據(jù)流,允許讀寫臨時(shí)數(shù)據(jù)。 兩者的唯一區(qū)別是 php://memory 總是把數(shù)據(jù)儲(chǔ)存在內(nèi)存中, 而 php://temp 會(huì)在內(nèi)存量達(dá)到預(yù)定義的限制后(默認(rèn)是 2MB)存入臨時(shí)文件中。 臨時(shí)文件位置的決定和 sys_get_temp_dir() 的方式一致。
php://filter
php://filter 是一種元封裝器, 設(shè)計(jì)用于數(shù)據(jù)流打開時(shí)的篩選過濾應(yīng)用。 這對(duì)于一體式(all-in-one)的文件函數(shù)非常有用,類似 readfile()、 file() 和 file_get_contents(), 在數(shù)據(jù)流內(nèi)容讀取之前沒有機(jī)會(huì)應(yīng)用其他過濾器。參數(shù)如下:
如下例:
<?php /* 這會(huì)以大寫字母輸出 www.dbjr.com.cn 的全部內(nèi)容 */ readfile("php://filter/read=string.toupper/resource=http://www.dbjr.com.cn"); ?>
相關(guān)文章
Yii凈化器CHtmlPurifier用法示例(過濾不良代碼)
這篇文章主要介紹了Yii凈化器CHtmlPurifier用法,可實(shí)現(xiàn)過濾不良代碼的功能,涉及在控制器、模型、過濾器及視圖中的相關(guān)使用技巧,需要的朋友可以參考下2016-07-07PHP實(shí)現(xiàn)生成唯一編號(hào)(36進(jìn)制的不重復(fù)編號(hào))
這篇文章主要介紹了PHP實(shí)現(xiàn)生成唯一編號(hào),文中使用10進(jìn)制轉(zhuǎn)換36進(jìn)制得到不重復(fù)的6000多萬個(gè)唯一編號(hào),編號(hào)位數(shù)為10位,需要的朋友可以參考下2014-07-07PHP常用技術(shù)文之文件操作和目錄操作總結(jié)
這篇文章主要介紹了PHP常用技術(shù)文之文件操作和目錄操作總結(jié),本文講解了基本文件的操作、目錄的操作等內(nèi)容,需要的朋友可以參考下2014-09-09php實(shí)現(xiàn)微信公眾平臺(tái)發(fā)紅包功能
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)微信公眾平臺(tái)發(fā)紅包功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06PHP中可以自動(dòng)分割查詢字符的Parse_str函數(shù)使用示例
這篇文章主要介紹了PHP中可以自動(dòng)分割查詢字符的Parse_str函數(shù)使用示例,小編也沒見過的一個(gè)函數(shù),這下分割URL中的查詢字符串就方便了,需要的朋友可以參考下2014-07-07CI框架給視圖添加動(dòng)態(tài)數(shù)據(jù)
這篇文章主要介紹了CI框架給視圖添加動(dòng)態(tài)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2014-12-12CI(CodeIgniter)框架中URL特殊字符處理與SQL注入隱患分析
這篇文章主要介紹了CI(CodeIgniter)框架中URL特殊字符處理與SQL注入隱患,結(jié)合實(shí)例形式分析了CodeIgniter框架中針對(duì)特殊字符的過濾及SQL注入隱患的相關(guān)原理,需要的朋友可以參考下2019-02-02