国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

說(shuō)說(shuō)$POST 、$HTTP_RAW_POST_DATA、php://input三者之間的區(qū)別

desdik / 1944人閱讀

摘要:因?yàn)樵跓o(wú)法識(shí)別的時(shí)候,就會(huì)把數(shù)據(jù)填入到中。需要設(shè)置中的值為才會(huì)生效當(dāng)與可以取到值時(shí)為空不能用于中已經(jīng)移除了這個(gè)全局變量,用替代可通過(guò)輸入流以文件讀取方式取得未經(jīng)處理的原始數(shù)據(jù),允許讀取的原始數(shù)據(jù)。和比起來(lái),它給內(nèi)存帶來(lái)的壓力較小。

$POST

$_POST是我們最常用的獲取POST數(shù)據(jù)的方式,它是以關(guān)聯(lián)數(shù)組方式組織提交的數(shù)據(jù),并對(duì)此進(jìn)行編碼處理,如urldecode,甚至編碼轉(zhuǎn)換,識(shí)別的數(shù)據(jù)類型是PHP默認(rèn)識(shí)別的數(shù)據(jù)類型 application/x-www.form-urlencoded

無(wú)法解析如text/xml,application/json等非 application/x-www.form-urlencoded 數(shù)據(jù)類型的內(nèi)容

HTTP_RAW_POST_DATA

前面說(shuō)過(guò)PHP默認(rèn)識(shí)別的數(shù)據(jù)類型是application/x-www.form-urlencoded,用Content-Type=application/json 類型,提交的POST數(shù)據(jù)這時(shí)候 $_POST 就無(wú)法獲取到了,但是使用 $GLOBALS["HTTP_RAW_POST_DATA"] 可以獲取到。因?yàn)樵赑HP無(wú)法識(shí)別Content-Type的時(shí)候,就會(huì)把 POST 數(shù)據(jù)填入到 $HTTP_RAW_POST_DATA 中。

需要設(shè)置 php.ini 中的 always_populate_raw_post_data 值為 On 才會(huì)生效

當(dāng)$_POST 與 php://input可以取到值時(shí) $HTTP_RAW_POST_DATA 為空

不能用于 enctype="multipart/form-data"

PHP7中已經(jīng)移除了這個(gè)全局變量,用 php://input 替代

php://input

php://input 可通過(guò)輸入流以文件讀取方式取得未經(jīng)處理的POST原始數(shù)據(jù),允許讀取 POST 的原始數(shù)據(jù)。和 $HTTP_RAW_POST_DATA 比起來(lái),它給內(nèi)存帶來(lái)的壓力較小。

不需要任何特殊的 php.ini 設(shè)置

不能用于 enctype="multipart/form-data"

小結(jié)

上面了介紹了一下我們目前使用PHP獲取POST數(shù)據(jù)的三種方式,當(dāng)我們以后使用PHP來(lái)獲取POST數(shù)據(jù)的時(shí)候用$_POST或者php://input就好了。雖然HTTP_RAW_POST_DATA可以達(dá)到和php://input一樣的目的,但是會(huì)給內(nèi)存帶來(lái)較大的壓力,官方也注意到了這個(gè)問(wèn)題,所以在PHP7就果斷移除了這個(gè)不好用的東東。。。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/21105.html

相關(guān)文章

  • PHP其他知識(shí)集合

    摘要:引用傳遞除了對(duì)象和資源,其他類型的引用傳遞都是指向同樣的數(shù)據(jù),各自互相影響。與基本用法一致,但區(qū)別如下沒(méi)有返回值,有返回值可以輸出多個(gè)參數(shù),只可以輸出一個(gè)參數(shù)是函數(shù),可以打印復(fù)合類型,例如等,主要用于數(shù)組打印是函數(shù),把文字格式化以后輸出。 命令行執(zhí)行PHP代碼三種方式 1、/usr/local/php/bin/php 后面跟上某個(gè)PHP文件 2、/usr/local/php/bi...

    李濤 評(píng)論0 收藏0
  • php://output和php://stdout區(qū)別

    摘要:同理可得到和的區(qū)別是進(jìn)程的標(biāo)準(zhǔn)輸出流,是返回的結(jié)果數(shù)據(jù)流。在瀏覽器端,進(jìn)程的輸出流被忽略,只有結(jié)果數(shù)據(jù)流被發(fā)送到服務(wù)器。同時(shí),和調(diào)用的信息都作為執(zhí)行結(jié)果發(fā)往結(jié)果輸出流,所以都正常顯示。 轉(zhuǎn)載請(qǐng)注明文章出處:https://tlanyan.me/php-output... PHP包含了以php://開(kāi)頭的一系列輸出輸出流,如php://stdin, php://stdout等。今天查看...

    binaryTree 評(píng)論0 收藏0
  • php開(kāi)發(fā)過(guò)程中不怎么常見(jiàn)問(wèn)題

    日常開(kāi)發(fā)中碰到就記一下, 如果有朋友愿意分享的 bug 可以在評(píng)論中討論啊 url 當(dāng)中的參數(shù)有 ×tamp=1234567890這樣的字段會(huì)被轉(zhuǎn)義成xtamp=1234567890 這個(gè)不僅存在于頁(yè)面解析當(dāng)中,當(dāng)使用 curl 請(qǐng)求時(shí)拼接的參數(shù)有這種格式的也會(huì)發(fā)生轉(zhuǎn)義解決方法有兩個(gè): 把 timestamp 這個(gè)參數(shù)放在 urlQuery 的最前面, ?timestamp=1234...

    April 評(píng)論0 收藏0
  • PHP發(fā)送和接收J(rèn)SON請(qǐng)求

    摘要:發(fā)送接受是個(gè)可以訪問(wèn)請(qǐng)求的原始數(shù)據(jù)的只讀流。在之前打開(kāi)的數(shù)據(jù)流只能讀取一次數(shù)據(jù)流不支持操作。不過(guò),依賴于的實(shí)現(xiàn),請(qǐng)求體數(shù)據(jù)被保存的時(shí)候,它可以打開(kāi)另一個(gè)數(shù)據(jù)流并重新讀取。 現(xiàn)在微服務(wù)中,很多API由于需要傳遞的參數(shù)較多所以要求用包含所有參數(shù)的JSON數(shù)據(jù)作為POST請(qǐng)求的請(qǐng)求體來(lái)替代FormData傳遞參數(shù)的方式,在參數(shù)量較多時(shí)POST JSON要比POST FormData便于開(kāi)發(fā)和...

    PiscesYE 評(píng)論0 收藏0
  • PHP回顧之IO

    摘要:命令行時(shí)返回值為,標(biāo)準(zhǔn)輸入輸出均指向終端可用進(jìn)程號(hào)查看。會(huì)在腳本執(zhí)行完畢后關(guān)閉三個(gè)流,無(wú)需用戶手動(dòng)關(guān)閉。與遠(yuǎn)程網(wǎng)址交互是一個(gè)請(qǐng)求和響應(yīng)的過(guò)程,其中細(xì)節(jié)可參考本人之前的文章回顧之請(qǐng)求和回顧之響應(yīng),也可參考協(xié)議的權(quán)威文檔。 轉(zhuǎn)載請(qǐng)注明文章出處: https://tlanyan.me/php-review... PHP回顧系列目錄 PHP基礎(chǔ) web請(qǐng)求 cookie web響應(yīng) ses...

    happen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<