php7.3 curl上传文件报错curl_setopt(): Disabling safe uploads is no longer supported
Posted 骑着新浪狂奔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php7.3 curl上传文件报错curl_setopt(): Disabling safe uploads is no longer supported相关的知识,希望对你有一定的参考价值。
参考链接:https://blog.csdn.net/u012767761/article/details/74001746
因为项目之前是在php5.6环境运行的,不会报错,今天移植到新环境,php是7.3,结果就报错了,现在记录一下解决办法。
if (defined(‘CURLOPT_SAFE_UPLOAD‘)) {
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
}
定位到是这段代码报错,根据网上搜索的答案,把这段代码替换成下面的代码:
if (class_exists(‘CURLFile‘)) {// 这里用特性检测判断php版本
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
$data = array(‘media‘ => new CURLFile(realpath($filedata)));//>=5.5
} else {
if (defined(‘CURLOPT_SAFE_UPLOAD‘)) {
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
$data = array(‘media‘ => ‘@‘ . realpath($filedata));//<=5.5
}
}
其中,$filedata是要上传的文件的绝对路径,用字符串表示。$data数组里的key因为我是要上传到微信服务器,根据微信接口改成了media,这个可以根据需要更改。
最后保存代码,再次运行,上传成功,搞定。
以上是关于php7.3 curl上传文件报错curl_setopt(): Disabling safe uploads is no longer supported的主要内容,如果未能解决你的问题,请参考以下文章