欄目列表

$HTTP_RAW_POST_DATA和$_POST的相關知識

更新時間:2016-11-09 13:55來源:未知 作者:admin 點擊:
$HTTP_RAW_POST_DATA在php.ini的 always_populate_raw_post_data選項設置為true時一直可以接收所有類型post數據,但設置為false時只有mime類型不為application/x-www-form-urlencoded時有值,但mime為multipart/form-da
$HTTP_RAW_POST_DATA在php.ini的always_populate_raw_post_data選項設置為true時一直可以接收所有類型post數據,但設置為false時只有mime類型不為application/x-www-form-urlencoded時有值,但mime為multipart/form-data時無效。但是php://input是可以正常使用的,舉例如下:

form.php

<?php
$url = "http://localhost/do_form.php";
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/xml'));//如果注釋掉這一行,mime默認就是application/x-www-form-urlencoded
curl_setopt($ch, CURLOPT_POSTFIELDS, 'a=b&c=d');

curl_exec($ch);

curl_close($ch);

?>

do_form.php

<?php
echo file_get_contents('php://input');//這個一直有效,輸出a=b&c=d
echo $HTTP_RAW_POST_DATA;//這個在注釋掉CURLOPT_HTTPHEADE那一行之后會不輸出任何值,保留那個header將會輸出a=b&c=d
echo $_POST['a'];//在注釋掉那個header或改成array('Content-Type:application/x-www-form-urlencoded')以后輸出b,打開注釋將無輸出

?>
(責任編輯:admin)
熱點內容
推薦內容
一整包刮刮乐的中奖率