php curl 上传文件失败 把文件路径当成字符串处理了,怎么办?

赞赏 2017-03-31

PHP调用curl上传图片到cdn,但cdn那边返回“need file”,意识就是说,我没有上传图片给他。我把执行curl命令输出,直接运行,就能上传成功,这是怎么回事,就抓了一下包,看两个请求有什么区别?

php curl 上传文件失败 把文件路径当成字符串处理了,怎么办?

从上图可以看出,PHP调用CURL上传的时候,直接把图片路径当成字符串处理了。

直接CURL抓包的结果如下:

可以看到 直接CURL的把路径当路径了。


怎么回事?


原来呀!

  • <=5.4 curl上传文件只支持@语法

  • = 5.5 支持@语法和CURLFile类

  • 大于=5.6 只支持CURLFile类


我用的是PHP7,难怪给当成字符串处理了。

解决办法:

把路径 '@'.$filepath 改成 new \CURLFile($filepath)


CURLFile class

http://php.net/manual/en/class.curlfile.php


登陆后阅读全文
阅读 2350 赞赏 2 有用 15 没用 1 收藏 3 分享

   


作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。

0 条留言

琅琊阁主的头像

琅琊阁主

抛砖引玉

他的文章

词条 | 影子银行 | 什么是影子银行

如何保存征集助手投票助手里收集到的图片视频?

解决微信开发者工具不能复制

福利 | Purnhub的视频如何下载?

Instagram的图片和视频如何下载?

公号素材助手只下载了一张图片

提取图片中的文字 | ocr文字识别助手

Axure RP 8 注册码(最新亲测可用) Licensee + Key

福利 | 第九工厂「艺术二维码」的价值180元的三个月会员邀请码

如何9.85折给中国联通手机、固话、宽带充值?

手机扫一扫
分享文章