原文网址:https://www.youyong.top/article/1158de298236
PHP调用curl上传图片到cdn,但cdn那边返回“need file”,意识就是说,我没有上传图片给他。我把执行curl命令输出,直接运行,就能上传成功,这是怎么回事,就抓了一下包,看两个请求有什么区别?
原文网址:https://www.youyong.top/article/1158de298236
PHP调用curl上传图片到cdn,但cdn那边返回“need file”,意识就是说,我没有上传图片给他。我把执行curl命令输出,直接运行,就能上传成功,这是怎么回事,就抓了一下包,看两个请求有什么区别?
原文网址:https://www.youyong.top/article/1158de298236
从上图可以看出,PHP调用CURL上传的时候,直接把图片路径当成字符串处理了。
直接CURL抓包的结果如下:
可以看到 直接CURL的把路径当路径了。
怎么回事?
原来呀!
<=5.4 curl上传文件只支持@语法
= 5.5 支持@语法和CURLFile类
大于=5.6 只支持CURLFile类
我用的是PHP7,难怪给当成字符串处理了。
解决办法:
把路径 '@'.$filepath 改成 new \CURLFile($filepath)
http://php.net/manual/en/class.curlfile.php
作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。
共 0 条留言