1. 如何使用php獲取原生的POST數據
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數據
解釋:也就是表單POST過來的數據
方法2、file_get_contents("php://input");
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。
php://input 不能用於 enctype="multipart/form-data"。
解釋:
對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」);來獲取原始數據。
事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。
所以用方法二是最保險的方法
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。
此變數僅在碰到未識別 MIME 類型的數據時產生。
$HTTP_RAW_POST_DATA 對於 enctype="multipart/form-data" 表單數據不可用
如果post過來的數據不是PHP能夠識別的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,
比如 text/xml 或者 soap 等等
解釋:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過來的原始數據。
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以後的數據。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST過來的數據取決於centent-Type的設置,即POST數據時 必須顯式示指明Content-Type: application/x-www-form-urlencoded,POST的數據才會存放到 $GLOBALS['HTTP_RAW_POST_DATA']中
2. php如何獲得http post的數據
在PHP段直接用$_POST這個全局數組來獲取,也可以通過$_REQUEST來獲取值
3. php如何接收別的伺服器post過來的數據 - 技術問答
通常情況下用戶使用瀏覽器網頁表單向伺服器post提交數據,我們使用PHP的$_POST接收用戶POST到伺服器的數據,並進行適當的處理。但有些情況下,如用戶使用客戶端軟體向服務端php程序發送post數據,而不能用$_POST來識別,那又該如何處理呢?
我們介紹php接受post數據的三種方式:
1.$_POST方式接收數據
$_POST方式是通過 HTTP POST 方法傳遞的變數組成的數組,是自動全局變數。如使用$_POST[『name』]就可以接收到網頁表單以及網頁非同步方式post過來的數據,
即$_POST只能接收文檔類型為Content-Type: application/x-www-form-urlencoded提交的數據,也就是表單POST過來的數據。
2.$GLOBALS[『HTTP_RAW_POST_DATA』]方式接收數據
但$GLOBALS[『HTTP_RAW_POST_DATA』]中是否保存POST過來的數據取決於centent-Type的設置,只有在PHP在無法識別的Content-Type的情況下,才會將POST過來的數據原樣地填入變數$GLOBALS[『HTTP_RAW_POST_DATA』]中,像Content-Type=application/x-www-form-urlencoded時,該變數是空的。
另外,它同樣無法讀取Content-Type為multipart/form-data的POST數據,也需要設置php.ini中的always_populate_raw_post_data值為On,PHP才會總把POST數據填入變數$http_raw_post_data。
3.php://input方式接收數據
如果訪問原始 POST 數據的更好方法是 php://input。php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的php.ini設置,php://input不能用於 enctype=」multipart/form-data」。對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」)來獲取原始數據。事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。php://input讀取不到$_GET數據。是因為$
4. php 使用file_get_contents("php://input");接收post請求如何獲取文件名
用$_FILES接收文件不行嗎
"php://input"不能用於multipart/form-data表單因為是字元串型的,接收不了文件吧
5. PHP怎麼接收jQuery的Ajax post過來的值
1、首先安裝配置php集成環境。以phpstudy為例。
6. php接收POST數據並循環輸出的代碼
在php中,表單POST提交的數據是存放在$_POST變數中.$_POST變數是一個數組,它是一個以表單欄位名作索引的數組.比如有以下表單:
<formmethod="post">
<p>姓名:<inputtype="text"name="name"value=""></p>
<p>年齡:<inputtype="text"name="age"value=""></p>
<p><inputtype="submit"value="提交"></p>
</form>
輸入值後提交,按你的要求,在php層處理輸出提交的內容,那麼可以這樣:
<?php
echo'你的姓名是:'.$_POST['name'];//其中$_POST['name']中存放的是上面表單名為name的值
echo'你今年'.$_POST['age'].'歲';//其中$_POST['age']中存放的是上面表單名為age的值
?>
如果欄位內容很多,有時就可能需要循環處理.
foreach($_POSTas$val){
echo$val;
}
或直接:
print_r($_POST);
當然處理或輸出的格式很多,以上只是一個示例.
7. PHP 里怎麼接收POST的值
$abc = $_POST['abc'] ? $_POST['abc'] :null
$_POST['abc'] 是post提交過來的名字為abc的數據
8. php接收post數據要怎麼弄
頁面A 向B頁面post數據
A頁面: name="add" value="1"
B頁面:
static $num;
if( istset($_POST['add']) && $_POST['add']){
//比如將計數記錄在$num
$num = $num++;
}
9. php中怎麼直接獲取post數據
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數據
解釋:也就是表單POST過來的數據
方法2、file_get_contents("php://input");
說明:
允許讀取 POST 的原始數據。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。
php://input 不能用於 enctype="multipart/form-data"。
解釋:
對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」);來獲取原始數據。
事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。
所以用方法二是最保險的方法