|
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);
假如這里的$data是
復(fù)制代碼 代碼如下:
$data = array(
'name'=>'scofield',
'time'=>'2012-2-3'
)
接下來(lái),需要先將$data變成字符串
$post_data = http_build_query($data);
而采用 http_build_query 轉(zhuǎn)換后再
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);
看起來(lái)沒(méi)有什么問(wèn)題。但在實(shí)際操作中,$post_data 并沒(méi)有被post過(guò)去。于是,自己寫了個(gè)轉(zhuǎn)換的方法后就OK了。
復(fù)制代碼 代碼如下:
function getStr($array,$Separator='&') {
if (empty($array))
return;
if (!is_array($array)) {
return $array;
}
$returnStr = '';
foreach ($array as $key => $val) {
$temp = '';
if (is_array($val)) {
for ($i = 0; $i < count($val); $i++) {
$returnStr .= $key . '[' . $i . ']' . '=' . $val[$i] . $Separator;
}
} else {
$returnStr.= $key . '=' . $val . $Separator;
}
}
$returnStr = substr(trim($returnStr), 0, -1);
return $returnStr;
}
感謝 黃斌-huangbin 童鞋的測(cè)試 http_build_query($data,"","&"); 即可,無(wú)需自己寫方法解析了。
http_build_query 遠(yuǎn)程攻擊者可以利用漏洞獲得敏感內(nèi)存信息。請(qǐng)大家謹(jǐn)慎使用
php技術(shù):php中http_build_query 的一個(gè)問(wèn)題,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。