php curl POST数据丢失是因为在string类型中,&符号是在分割参数用的,所以会导致丢失情况,其解决办法就是使用Array的方式提交即可。

如何解决curl php post 丢失问题插图

本文操作环境: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’]并没有出现我们想要的<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的方式提交就没有问题了

推荐学习:《PHP视频教程》

以上就是如何解决curl php post 丢失问题的详细内容,更多请关注811轩轩资源网其它相关文章!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注