PHP中CURL进行POST发送报错Deprecated: curl_setopt()

SJY发表于:2018年07月27日 12:50 • 阅读:

Deprecated: curl_setopt(): The usage of the @filename API for file uploading is deprecated. Please use the CURLFile class instead 

大概意思是上传文件的方法已经废弃,用CURLFile类代替。但关键是我并没有发送文件,仅仅是把数组进行POST发送。

POST数据如下

$post_data=array('t1'=>'abc','t2'=>'@def');

如果把t2的值中的@去掉就能正常发送,只要加上@就报错。

问题出在这条语句上

curl_setopt ( $curl, CURLOPT_POSTFIELDS, $post_data );

curl默认提交就是文件上传,只是普通的数据提交需要进行 http_build_query 处理

curl_setopt ( $curl, CURLOPT_POSTFIELDS, http_build_query ( $post_data ) );

这样问题就解决了。

参考:http://www.sjyhome.com/php/1438.html

欢迎转载,但请保留原文地址 http://www.sjyhome.com/php/1437.html

标签: cURL POST

回复(0)