当前位置:首页 > PHP >

不用SDK七牛云上传PHP简单版本

时间:2019-12-29 03:01:27浏览:1795 本站原创

官方提供的还有很多人搞的都是SDK版,其实对于不少的人来说,不需要那么复杂的SDK,只需要一个上传,却要引入那么多文件的SDK,看了半天官方也没有看明白加密算法到底是怎么?那就百度找找看?还真找到一个可用的七牛云算法的php版本。


《七牛云文件上传接口的使用》原文地址:https://blog.csdn.net/weixin_44309184/article/details/90634112

这个例子的下半段用的前端的方式,很多时候需要在后端直接传,不用前端的方式

那么就要用到curl_init,提交两个东西过去,一个是token,一个是file

《php curl文件上传兼容php5.0~5.6各版本》原文地址:https://www.cnblogs.com/zqifa/p/php-curl-2.html

使用其最后兼容各版本代码:

http://localhost/test/curl/load_file.php换成七牛云的地址:详细区域的上传地址附后

把curl_exec($ch);改掉,不让直接输出,方便后面处理结果

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //以文件流的形式返回,不直接输出
$Re = curl_exec($ch);

上传成功七牛云返回的是json,hash和key,key就是保存的文件名,根据七牛云存储空间的绑定,加上返回的key就组合出访问的URL。

上传失败返回error的json


测试半天发现,同样的一个图片,同样的代码,有时成功,有时失败,继续百度,才发现,是因为《七牛云文件上传接口的使用》里面的算法用到了base64_encode编码,需要将base64_encode的字符串中的加号+换成中划线-,并且将斜杠/换成下划线_

这样总算完成了,一个简单版本PHP七牛云上传就搞定了,稍加完善,加上判断上传图片是否存在及返回图片URL,整个文件2K,加上注释,及$AccessKey,$SecretKey,$bucketname,$bucketURL 基本配置丢前面,在62行


七牛云区域上传地址:

七牛云存储区域官方说明URL:https://developer.qiniu.com/kodo/manual/1671/region-endpoint


完美,收工睡觉!



上一篇:SELECT 2 —— 替代SELECT 组件的jQuery 插件
下一篇:微信授权登录,登录成功后跳转到指定的地址怎么带多个参数?

发表评论

昵称:  验证码:

关于博主

博主

博主:BlueCode

职业:web程序

简介:2002年开始一直从事Web制作,网站运营,会PHP+MYSQL ASP+MSSQL,微信开发