對於使用GET請求,我們可以查詢字符串轉換成串串,
parse_str($_SERVER['QUERY_STRING']);
但對於POST方法上面的方法不起作用。是否有另一種方法可以對字符串進行後期查詢。
對於使用GET請求,我們可以查詢字符串轉換成串串,
parse_str($_SERVER['QUERY_STRING']);
但對於POST方法上面的方法不起作用。是否有另一種方法可以對字符串進行後期查詢。
除非您從命令行運行PHP,否則PHP將使用解析的查詢值和相應的帖子正文值來填充superglobal arrays$_GET
和$_POST
(以及其他)。它會自動執行此操作,所以沒有任何理由說明爲什麼你會在查詢字符串上顯示parse_str
。
使用application/x-www-form-urlencoded
multipart/form-data
或作爲在請求中的HTTP內容類型時引用傳遞給經由HTTP POST方法的當前腳本變量的PHP Manual for $_POST
的數組。
這是訪問POST數據的首選方式。但是,您也可以訪問原始文章主體via the php://input
stream or $HTTP_RAW_POST_DATA
(後者在PHP 5.6.0中已棄用,並且從PHP 7.0.0起刪除)。
引述PHP Manual on input streams:
php://input
是一個只讀流,允許你從請求主體讀的原始數據。在POST請求的情況下,最好使用php://input
而不是$HTTP_RAW_POST_DATA
,因爲它不依賴於特殊的php.ini指令。此外,對於默認情況下未填充$HTTP_RAW_POST_DATA
的情況,這是激活always_populate_raw_post_data
的潛在更少內存密集型替代方案。php://input
不適用於enctype="multipart/form-data"
。
POST數據在'$ _POST'中。 – paskl
'json_encode($ _ REQUEST)'會讓你獲得json序列化的get,post和cookie參數。 –
@vp_arth http://stackoverflow.com/a/2143042/208809 – Gordon