PHP php://
簡介
php:// 包裝器允許訪問各種 I/O 流。這包括標準輸入、輸出和錯誤流。記憶體中、磁碟支援和過濾流也可以使用 php:// 協議訪問。
標準流
php://stdin、php://stdout 和 php://stderr 分別允許直接訪問 PHP 程序的標準輸入流裝置、標準輸出流和錯誤流。預定義常量 STDIN、STDOUT 和 STDERR 分別表示這些流。
php://input
php://input 允許只讀訪問 HTTP 請求正文中包含的原始資料。請注意,相同的資料也可在 $HTTP_POST_RAW-DATA 變數中獲得(該變數現已棄用)。但是,如果 enctype 屬性設定為 multipart/form-data,則 php://input 不可使用。
php://output
此包裝器表示只寫流,允許緩衝機制,類似於 print 和 echo 語句。
php://fd
可以透過此包裝器訪問檔案描述符。標準流 STDIN、STDOUT 和 STDERR 分別分配了檔案描述符 1、2 和 3。每個其他流都分配了遞增的檔案描述符。因此,php://fd/5 指的是檔案描述符 5。
php://memory
這是一個讀寫流,允許將資料臨時儲存在記憶體中。php://temp 包裝器與此類似。但是,在後者的情況下,資料儲存在臨時檔案中而不是記憶體中。
php://filter
此包裝器允許在開啟流時對其應用過濾器。過濾器在使用 readfile()、file_get_contents() 和 file() 函式時特別有用。
示例
在以下示例中,控制檯輸入從 php://stdin 讀取,並使用 php://stdout 顯示輸出。
<?php
$file=fopen("php://stdin","r");
$x=fread($file,10);
echo $x;
$out=fopen("php://stdout","w");
fwrite($out, $x);
fclose($file);
?>php://input 流包裝器允許從 HTTP 請求中獲取原始資料。在以下示例中,HTML 表單使用 POST 方法將資料釋出到 PHP 指令碼。
<html> <body> <form action="testscript.php" method="POST"> <input type="text" name="name"> <input type="text" name="age"> <input type ="submit" value="submit"> </form> </body> </html>
用於檢索原始 HTTP 資料的 PHP 指令碼如下所示:
<?php
$json = file_get_contents("php://input");
$data = json_decode($json);
print_r($json);
?>
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP