0x01 背景
主要是一个PDF上传的功能, 使用了curl_exec, 我在本地测试 , 一直上传成功, 放到测试服务器上以后. 直接返回 false, 显示空白
0x02 调试报错
在curl_colse之前抓取报错
curl_errno
显示错误号为 26
查询文档, 26报错, 是上传文件的问题
本地用的是相对路径, 更改为绝对路径后, 本地报错, 服务器也报错
上传用到的类
new \CURLFile($fileinfo($filepath);很多网上都是通过这个解决问题的
查看报错, 返回是 0 这证明是后端接口接收报错
在这里徘徊了1个多小时, 反复测试, 一直没有什么好的解决办法
然后看了下 CURLFile的 几个参数
public __construct ( string $filename
[, string $mimetype
[, string $postname
]] )
参数2: 文件类型
参数3: 上传文件名
没办法,试试, 把这3个参数都填写上, 返回正常了
0x03 分析
在这里郁闷了很久, 看了网上的资料, 好多后面两个参数都不用填写, 上传正常
我本地用相对路径正常长传, 也没啥问题
应该是接口对文件名进行了验证导致的一系列的问题!
0则评论给“curl_exec 报错 errno 26”