首頁 >後端開發 >php教程 >beautiful goodbye php中http_build_query 的一個問題

beautiful goodbye php中http_build_query 的一個問題

WBOY
WBOY原創
2016-07-29 08:48:22977瀏覽

當我們使用CURL來post資料的時候,需要設定post的資料
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);
假如這裡的$data是

複製碼 = array(

'name'=>'scofield',

'time'=>'2012-2-3'
)


接下來,需要先將$data變成字串
$post_data = http_build_query($ data);

而採用http_build_query 轉換後再
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);
看起來沒有什麼問題。但在實際操作中,$post_data 並沒有被post過去。於是,自己寫了個轉換的方法後就OK了。



複製程式碼

程式碼如下:function getStr($array,$Separator='&') {

if (empty($array))

return ($yarray); {
return $array;
}
$returnStr = '';
foreach ($array as $key => $val) {
$temp = '';
if (is_array($val)) {
for ($
for ($ i = 0; $i $returnStr .= $key . '[' . $i . ']' . '=' . $val[$i] . $Separator;
}
} else {
$returnStr.= $key . '=' . $val . $Separator;
}
}
$returnStr = substr(trim($returnStrturn), 0, -1); Str ;
}


感謝黃斌-huangbin 童鞋的測試http_build_query($data,"","&"); 即可,無需自己寫方法解析了。
http_build_query 遠端攻擊者可以利用漏洞來獲得敏感記憶體資訊。請大家謹慎使用
以上就介紹了beautiful goodbye php中http_build_query 的一個問題,包括了beautiful goodbye方面的內容,希望對PHP教程有興趣的朋友有所幫助。



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn