php curl post数据丢失是因为在string类型中,&符号是在分割参数用的,所以会导致丢失情况,其解决办法就是使用Array的方式提交即可。
本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑
如何解决curl php 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']并没有出现我们想要的e7d742aa3ce56f89478a860cc285b428点我百度一下5db79b134e9f6b82c0b36e0489ee08ed,而是出现了Array(
[title] => 我是标题
[content] => <a href="http://www.baidu.com?a=1
[b] => 1">点我百度一下</a>
) 这时我们只要使用Array的方式提交就没有问题了 推荐学习:《PHP视频教程》 以上是如何解决curl php post 丢失问题的详细内容。更多信息请关注PHP中文网其他相关文章!