phphttppostdata
A. 求助php如何POST提交數據
用PHP向伺服器發送HTTP的POST請求,代碼如下:
<?php
/**
*發送post請求
*@paramstring$url請求地址
*@paramarray$post_datapost鍵值對數據
*@returnstring
*/
functionsend_post($url,$post_data){
$postdata=http_build_query($post_data);
$options=array(
'http'=>array(
'method'=>'POST',
'header'=>'Content-type:application/x-www-form-urlencoded',
'content'=>$postdata,
'timeout'=>15*60//超時時間(單位:s)
)
);
$context=stream_context_create($options);
$result=file_get_contents($url,false,$context);
return$result;
}
使用的時候直接調用上面定義的send_post方法:
$post_data=array(
'username'=>'username',
'password'=>'password'
);
send_post('網址',$post_data);
B. PHP如何通過http傳輸大文件
其實最簡單的辦法就是把默認上傳文件大小的配置改大一點就行了。比如你要上傳一個小於50M的文件
1.php的配置文件改動:
upload_max_filesize 50M;
post_max_size 50M;
2.nginx的配置文件nginx.conf:
client_max_body_size 50m;
C. php http post form-data 怎麼寫
無論資料庫或者是頁面 出現亂碼 問號 空白 那基本就是編碼不一致的問題。你資料庫設置了什麼編碼 比如是UTF-8 那麼你頁面也設置這個編碼 並且使用header("Content-Type: text/html; charset=utf-8");讓瀏覽器也使用這個編碼 並且在連接資料庫的時候 mysql_query("SET NAMES utf8"); 那麼就不會出現亂碼 問號 空白等情況了。 其實就是讓資料庫 頁面 瀏覽器編碼一致就可以。你檢查一下。
我剛剛在後盾人看到的,樓主也可以去後盾人看看學習一下.
D. 使用php curl 模擬post請求,自動附加了data參數
$post_data_string=http_build_query($post_data,'&');
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$get_session_url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$xmloutput=curl_exec($ch);
一般這樣寫 你自己對比下
E. php如何獲得http post的數據
在PHP段直接用$_POST這個全局數組來獲取,也可以通過$_REQUEST來獲取值
F. 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']中
G. 用PHP怎麼發送HTTP POST 請求。怎麼獲得返回結果。
<form id="form1" name="form1" method="post" action="">
<input type="text" name="text" id="text" />
<input type="submit" name="button" id="button" value="提交" />
</form> 接收用$_POST['text'] 這是你在文本框寫的值.
H. 怎麼查看php發出的post請求
用PHP向伺服器發送HTTP的POST請求,代碼如下:
<?php
/**
* 發送post請求
* @param string $url 請求地址
* @param array $post_data post鍵值對數據
* @return string
*/
function send_post($url, $post_data) {
$postdata = http_build_query($post_data);
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $postdata,
'timeout' => 15 * 60 // 超時時間(單位:s)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}
使用的時候直接調用上面定義的send_post方法:
$post_data = array(
'username' => 'username',
'password' => 'password'
);
send_post('網址', $post_data);