php7.3 curl上传文件报错curl_setopt(): Disabling safe uploads is no longer supported

时间:2019-11-27
本文章向大家介绍php7.3 curl上传文件报错curl_setopt(): Disabling safe uploads is no longer supported,主要包括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,这个可以根据需要更改。
最后保存代码,再次运行,上传成功,搞定。

原文地址:https://www.cnblogs.com/xiesx/p/11942969.html