程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP輸入輸出流學習筆記

PHP輸入輸出流學習筆記

編輯:PHP綜合

PHP輸入和輸出流是通過php://來訪問的,它允許訪問 PHP 的輸入輸出流、標准輸入輸出和錯誤描述符, 內存中、磁盤備份的臨時文件流以及可以操作其他讀取寫入文件資源的過濾器。
php://stdin, php://stdout 和 php://stderr
php://stdin,php://stdout 和 php://stderr允許訪問 PHP 進程相應的輸入或者輸出流。
php://input
php://input 是個可以訪問請求的原始數據的只讀流。 POST 請求的情況下,最好使用 php://input 來代替 $HTTP_RAW_POST_DATA(原生的post數據),因為它不依賴於特定的 php.ini 指令,內存消耗更少。如下例:

<form action="" method="post">
  <input type="text" name="test" > <input type="submit" name="" />
</form>
<?php
  echo file_get_contents("php://input");
?>

結果:

php://output
php://output 是一個只寫的數據流, 允許你以 print 和 echo 一樣的方式 寫入到輸出緩沖區。
php://fd
php://fd 允許直接訪問指定的文件描述符。 例如 php://fd/3 引用了文件描述符 3。
php://memory 和 php://temp
php://memory 和 php://temp 是一個類似文件 包裝器的數據流,允許讀寫臨時數據。 兩者的唯一區別是 php://memory 總是把數據儲存在內存中, 而 php://temp 會在內存量達到預定義的限制後(默認是 2MB)存入臨時文件中。 臨時文件位置的決定和 sys_get_temp_dir() 的方式一致。
php://filter
php://filter 是一種元封裝器, 設計用於數據流打開時的篩選過濾應用。 這對於一體式(all-in-one)的文件函數非常有用,類似 readfile()、 file() 和 file_get_contents(), 在數據流內容讀取之前沒有機會應用其他過濾器。參數如下:

如下例:

<?php
/* 這會以大寫字母輸出 www.jb51.net 的全部內容 */
readfile("php://filter/read=string.toupper/resource=http://www.jb51.net");
?>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved