關於PHP Curl POST 數據丟失的問題

$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$return = curl_exec ( $ch );
curl_close ( $ch );


$data參數有兩種類型:string/array

比如:我們想提交兩個數據

$title =  '我是標題';

$content = '<a href="http://www.baidu.com?a=1&b=1">點我百度一下</a>';

當類型爲string的時候

$data = 'title=這是標題&content=<a href="http://www.baidu.com?a=1&b=1">點我百度一下</a>';

提交後我們會發現$_POST['content']並沒有出現我們想要的<a href="http://www.baidu.com?a=1&b=1">點我百度一下</a>,而是出現了<a href="http://www.baidu.com?a=1


這是因爲在string類型中,&在分割參數用的,所以我們打印結果會出現

Array(

[title] => 我是標題

[content] => <a href="http://www.baidu.com?a=1

[b] => 1">點我百度一下</a>

)

這時我們只要使用Array的方式提交就沒有問題了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章