如何解决curl php post 丢失问题

藏色散人
藏色散人 原创
2023-03-11 13:12:02 1417浏览

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']并没有出现我们想要的<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 丢失问题的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。