PHP默認只識別application/x-www.form-urlencoded標準的數(shù)據(jù)類型。
對型如text/xml 或者 soap 或者 application/octet-stream 之類的內(nèi)容無法解析锋八,如果用$_POST數(shù)組來接收就會失數矢伞市袖!
php://input 允許讀取 POST 的原始數(shù)據(jù)脉漏。
和 $HTTP_RAW_POST_DATA 比起來,它給內(nèi)存帶來的壓力較小切距,并且不需要任何特殊的 php.ini 設置。
php://input和 $HTTP_RAW_POST_DATA 不能用于 enctype="multipart/form-data"惨远。
$_POST:通過 HTTP POST 方法傳遞的變量組成的數(shù)組蔚舀。是自動全局變量。
$GLOBALS['HTTP_RAW_POST_DATA'] :總是產(chǎn)生 $HTTP_RAW_POST_DATA變量包含有原始的 POST 數(shù)據(jù)锨络。此變量僅在碰到未識別 MIME 類型的數(shù)據(jù)時產(chǎn)生。$HTTP_RAW_POST_DATA 對于 enctype="multipart/form-data" 表單數(shù)據(jù)不可用狼牺。
也就是說基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一樣的羡儿。
但是如果post過來的數(shù)據(jù)不是PHP能夠識別的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收是钥,比如 text/xml 或者 soap 等等掠归。