curl_exec 报错 errno 26

2020-4-10 流沙 PHP

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 ]] )


参数1: 文件路径

参数2: 文件类型

参数3: 上传文件名


没办法,试试, 把这3个参数都填写上,  返回正常了


0x03 分析

在这里郁闷了很久, 看了网上的资料, 好多后面两个参数都不用填写, 上传正常

我本地用相对路径正常长传, 也没啥问题

应该是接口对文件名进行了验证导致的一系列的问题!




发表评论:

Powered by 流沙团

备案号:鄂ICP备15017378号-1