1. 程式人生 > >關於PHP Curl POST 資料丟失的問題

關於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的方式提交就沒有問題了