php curl post資料遺失是因為在string型別中,&符號是分割參數用的,所以會導致遺失情況,其解決方法就是使用Array的方式提交即可。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
如何解決curl php post 遺失問題?
關於PHP Curl POST 資料遺失的問題
1 2 3 4 5 6 7 8 | $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
例如:我們想提交兩個資料
1 2 | $title = '我是标题';
$content = '<a href= "http://www.baidu.com?a=1&b=1" >点我百度一下</a>';
|
登入後複製
當類型為string的時候
1 | $data = 'title=这是标题&content=<a href= "http://www.baidu.com?a=1&b=1" >点我百度一下</a>';
|
登入後複製
提交後我們會發現$_POST['content']並沒有出現我們想要的點我百度,但出現了
1 2 3 4 5 | <a href= "http://www.baidu.com?a=1</p><p> #這是因為在string類型中,&在分割參數用的,所以我們列印結果會出現</p><div class=" code "=" " style=" position:relative; padding:0px; margin:0px;">Array(
[title] => 我是标题
[content] => <a href="http:
[b] => 1">点我百度一下</a>
)</a>
|