『壹』 php如何接收xmlhttp post過來的xml數據
您好:
既然是POST過來的,那麼直接使用$_POST['param'];即可獲取,param就是對方POST過來的時候的變數名稱,請試試。
『貳』 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']中
『叄』 PHP中怎麼輸出獲取微信推送過來的POST數據
微信伺服器post數據是後台進行的,你直接print並截斷是看不到信息的,另外post過來的數據是特殊的xml格式,可以寫入日誌查看
『肆』 php post提交xml報文 QQ:568299309
以下是提交xml的示例代碼:
<?php
$xml_data ='<AATAvailReq1>'.
'<Agency>'.
'<Iata>1234567890</Iata>'.
'<Agent>lgsoftwares</Agent>'.
'<Password>mypassword</Password>'.
'<Brand>phpmind.com</Brand>'.
'</Agency>'.
'<Passengers>'.
'<Alt AGE="" ID="1"></Alt>'.
'<Alt AGE="" ID="2"></Alt>'.
'</Passengers>'.
'<HotelAvailReq1>'.
'<DestCode>JHM</DestCode>'.
'<HotelCode>OGGSHE</HotelCode>'.
'<CheckInDate>101009</CheckInDate>'.
'<CheckOutDate>101509</CheckOutDate>'.
'<UseField>1</UseField>'.
'</HotelAvailReq1>'.
'</AATAvailReq1>';
$URL = "https://www.yourwebserver.com/path/";
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_MUTE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_POSTFIELDS, "$xml_data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
?>
『伍』 php 接收到之後post數據寫入資料庫
form表單demo:task.html
<fieldset id="setFiled">
<legend>發布任務</legend>
<form action="registr.php" method="post" id="steForm">
<label>任務類型:</label><br>
<input type="text" name="type" id="taskType" placeholder="請選擇任務類型"/><br>
<label>酬 金:</label><br>
<input type="number" name="money" id="forMoney" min="1" max="1000"/><label>元</label><br>
<label>截止時間:</label><br>
<input type="datetime" name="time" id="timeSubmit"/><span data-year="" data-month="" data-date="" id="showDate"></span><br>
<label>詳細描述:</label><br>
<textarea maxlength="512" name="textAray" id="msgArea"></textarea><br>
<input type="submit" name="subMit" id="forSub" value="點擊發布" />
</form>
(5)postxml數據php擴展閱讀
php接收POST數據的三種方式
1、$_POST 方式接受數據
$_POST 方式是由通過HTTP的POST方法傳遞過來的數據組成的數組,是一個自動全局變數。
註:只能接收Content-Type:application/x-www-form-urlencode提交的數據。也就是只能接收表單過來的數據。
2、GLOBLES[『HTTP_RAW_POST_DATA』]
如果訪問原始POST數據不是php能夠識別的文檔類型,比如:text/xml 或者soap等等,可以用$GLOBLES[『HTTP_RAW_POST_DATA』]來接收,$HTTP_RAW_POST_DATA變數包含有原始POST數據。此變數僅在碰到未識別的MIME數據時產生。
註:$HTTP_RAW_POST_DATA對於enctype=」multipart/form-data」表單數據不可用,也就是說使用$HTTP_RAW_POST_DATA無法接受網頁表單post過來的數據。
3、file_get_contents(「php://input」);
如果訪問原始POST數據,更好的方法是使用file_get_content(「php://input」);對於未指定Content-Type的POST數據,可以使用該方法讀取POST原始數據,包括二進制流也可以和$HTTP_RAW_POST_DATA比起來。它帶來的生存眼裡更小,並且不需要任何特殊的php.ini設置。
註:php://input不能用於 enctype=」multipart/form-data」
例如:$postStr = file_get_contents("php://input"); //獲取POST數據
『陸』 關於PHP如何獲取POST過來的XML並操作後返回輸出一個XML
PHP 提供了集中方式讀取xml
5.0 以上的話,可以用 xmlreader 和 xmlwriter 讀寫xml
比如 post 了 $xml = $_POST['xml'];
用 XMLReader 解析
$reader = new XMLReader();
$reader->xml($xml);
解析數據即可,生成xml 用代碼或用xmlWriter 都可以
$xml = "<?xml version="1.0" ?>\n";
$xml.="<root>hello world</root>";
echo $xml;
『柒』 php如何接收別的伺服器post過來的數據 - 技術問答
你這個人咋就轉不過來彎呢?不管是啥玩意,post過來的數據都在$_POST里如果post的是xml字元串那你就$_POST[\'xml\'],simplexml_load_string
解析直接可以用;如果是以文件(上傳)提交的那就$_FILES,按照處理上
...kukat
發表於
2009-5-15
11:18[i]回答的很全面
『捌』 php post請求發送xml 數據 怎麼添加請求頭
php post請求發送xml 數據 怎麼添加請求頭
實用數組,形參用指針變數。
main()
{int a[10];
……
f(a,10)
……
f(int *x,int n)
{
……
}
}
3) 實參、型參都用指針變數。
4) 實參為指針變數,型參為數組名。
【例10.20】用實參指針變數改寫將n個整數按相反順序存放。
void inv(int *x,int n)
{int *p,m,temp,*i,*j;
m=(n-1)/2;
i=x;j=x+n-1;p=x+m;
for(;i<=p;i++,j--)< BR> {temp=*i;*i=*j;*j=temp;}
return;
}
main()
{int i,arr[10]={3,7,9,11,0,6,7,5,4,2},*p;
p=arr;
printf("The original array:\n");
for(i=0;i<10;i++,p++)
printf("%d,",*p);
printf("\n");
p=arr;
inv(p,10);
printf("The array has benn inverted:\n");
for(p=arr;p<arr+10;p++)
printf("%d,",*p);
printf("\n");
}
注意:main函數中的指針變數p是有確定值的。即如果用指針變作實參,必須現使指針變數有確定值,指向一個已定義的數組
『玖』 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']中。
『拾』 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數據。是因為$