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
- Web应用服务器安全:攻击、防护与检测
- 基于Go Packet实现网络数据包的捕获与分析
- 动态追踪技术(四):基于 Linux bcc/BPF 实现 Go 程序动态追踪
- Hive 时间转换函数使用心得
- Flume-Hbase-Sink针对不同版本flume与HBase的适配研究与经验总结
- 利用Flume 汇入数据到HBase:Flume-hbase-sink 使用方法详解
- 浅谈保证软件工程质量的一些心得体会
- 基于ELK的nginx-qps监控解决方案
- 2017年年度最烂密码排名
- 字符串方法汇总(三)
- 周鸿祎:“大安全”网络时代 需要AI大数据的技术支持
- 爆料:对扫码支付下手后,据说央行接下来要提高备付金,目标比例42%
- 回顾2017年5大科技突破,“时间晶体”充满想象!
- 1宽币=883?山本宽称要发行自己的数字货币
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC