摘要:因為在無法識別的時候,就會把數(shù)據(jù)填入到中。需要設置中的值為才會生效當與可以取到值時為空不能用于中已經(jīng)移除了這個全局變量,用替代可通過輸入流以文件讀取方式取得未經(jīng)處理的原始數(shù)據(jù),允許讀取的原始數(shù)據(jù)。和比起來,它給內(nèi)存帶來的壓力較小。
$POST
$_POST是我們最常用的獲取POST數(shù)據(jù)的方式,它是以關聯(lián)數(shù)組方式組織提交的數(shù)據(jù),并對此進行編碼處理,如urldecode,甚至編碼轉(zhuǎn)換,識別的數(shù)據(jù)類型是PHP默認識別的數(shù)據(jù)類型 application/x-www.form-urlencoded
HTTP_RAW_POST_DATA無法解析如text/xml,application/json等非 application/x-www.form-urlencoded 數(shù)據(jù)類型的內(nèi)容
前面說過PHP默認識別的數(shù)據(jù)類型是application/x-www.form-urlencoded,用Content-Type=application/json 類型,提交的POST數(shù)據(jù)這時候 $_POST 就無法獲取到了,但是使用 $GLOBALS["HTTP_RAW_POST_DATA"] 可以獲取到。因為在PHP無法識別Content-Type的時候,就會把 POST 數(shù)據(jù)填入到 $HTTP_RAW_POST_DATA 中。
php://input需要設置 php.ini 中的 always_populate_raw_post_data 值為 On 才會生效
當$_POST 與 php://input可以取到值時 $HTTP_RAW_POST_DATA 為空
不能用于 enctype="multipart/form-data"
PHP7中已經(jīng)移除了這個全局變量,用 php://input 替代
php://input 可通過輸入流以文件讀取方式取得未經(jīng)處理的POST原始數(shù)據(jù),允許讀取 POST 的原始數(shù)據(jù)。和 $HTTP_RAW_POST_DATA 比起來,它給內(nèi)存帶來的壓力較小。
小結不需要任何特殊的 php.ini 設置
不能用于 enctype="multipart/form-data"
上面了介紹了一下我們目前使用PHP獲取POST數(shù)據(jù)的三種方式,當我們以后使用PHP來獲取POST數(shù)據(jù)的時候用$_POST或者php://input就好了。雖然HTTP_RAW_POST_DATA可以達到和php://input一樣的目的,但是會給內(nèi)存帶來較大的壓力,官方也注意到了這個問題,所以在PHP7就果斷移除了這個不好用的東東。。。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21105.html
摘要:同理可得到和的區(qū)別是進程的標準輸出流,是返回的結果數(shù)據(jù)流。在瀏覽器端,進程的輸出流被忽略,只有結果數(shù)據(jù)流被發(fā)送到服務器。同時,和調(diào)用的信息都作為執(zhí)行結果發(fā)往結果輸出流,所以都正常顯示。 轉(zhuǎn)載請注明文章出處:https://tlanyan.me/php-output... PHP包含了以php://開頭的一系列輸出輸出流,如php://stdin, php://stdout等。今天查看...
日常開發(fā)中碰到就記一下, 如果有朋友愿意分享的 bug 可以在評論中討論啊 url 當中的參數(shù)有 ×tamp=1234567890這樣的字段會被轉(zhuǎn)義成xtamp=1234567890 這個不僅存在于頁面解析當中,當使用 curl 請求時拼接的參數(shù)有這種格式的也會發(fā)生轉(zhuǎn)義解決方法有兩個: 把 timestamp 這個參數(shù)放在 urlQuery 的最前面, ?timestamp=1234...
摘要:發(fā)送接受是個可以訪問請求的原始數(shù)據(jù)的只讀流。在之前打開的數(shù)據(jù)流只能讀取一次數(shù)據(jù)流不支持操作。不過,依賴于的實現(xiàn),請求體數(shù)據(jù)被保存的時候,它可以打開另一個數(shù)據(jù)流并重新讀取。 現(xiàn)在微服務中,很多API由于需要傳遞的參數(shù)較多所以要求用包含所有參數(shù)的JSON數(shù)據(jù)作為POST請求的請求體來替代FormData傳遞參數(shù)的方式,在參數(shù)量較多時POST JSON要比POST FormData便于開發(fā)和...
閱讀 2656·2023-04-26 00:07
閱讀 2439·2021-11-15 11:37
閱讀 650·2021-10-19 11:44
閱讀 2178·2021-09-22 15:56
閱讀 1735·2021-09-10 10:50
閱讀 1510·2021-08-18 10:21
閱讀 2578·2019-08-30 15:53
閱讀 1638·2019-08-30 11:11