欢迎来到资源库(www.zyku.net)

其它云平台

当前位置:首页 > IDC > 其它云平台 > ucloud

ucloud云计算实现cdn文件上传

时间:2022-01-04|栏目:其它云平台|点击:|我要投稿

在下就是渣渣雪啦。这几天整cdn文件上传整了好久,宝宝心里很是着急啊,看文档一顿瞎瞅,所以一定要总结一下不至于以后再掉坑里。也给大家借鉴一下。

因为一个项目要有几百万张,数据量特别大,我用的是tp5框架,这时候存到本地是特别可怕的一件事情,所以是时候使用云存储了,其实对于ucloud我最初是拒绝的,因为我想着我的cto写多好,他写我就可以避免这个问题,哈哈,然而未能幸免。所以一件事情,做过了就都会觉得很简单,洒洒水了,不过我觉得明天依然有无穷无尽的bug需要我改,这是一个程序员改变不了的宿命。

首先你学习一个东西,你得有一个好的文档,不然真的是把你带的越来越远,只能挖个坑,埋个土。https://docs.ucloud.cn/storage_cdn/ufile/tools这个是ucloud的官方文档,你得入门就在这里开始了。

然后你使用人家的php sdk得引入人家的文件吧?所以在文档中找sdk下载

点击进去之后克隆下载到本地解压一下就ok了

下载 解压

解压之后的文档结构是这样的

有demo和ucloud两个文档,见名识意,demo就是示例代码啦,当时我还傻傻的百度呢,实际上人家已经都告诉你杂用的了。

这delete.php是用来删除图片的,get.php就是叫你咋调用这些方法的,multipart.php就是大文件上传咯,mupload.php是切片上传,将一个文件给你切成n片再给你攒起来,这就牛逼了。

ucloud才是这里的真正主角,所以你在把ucloud引入文件的时候,只需要放这一个目录就可以啦。我选择把他放在vendor目录下了,这是为啥捏?因为好引呗,直接vendor('ucloud/proxy');就可以啦,为啥不放在think里面呢?当然也ok了,只要你能引得到就可以了

那么现在问题来了,引入了如何配置呢?真让人头疼,哪里去获取这些配置项啊?我的内心有一万个疑问和草泥马在奔跑,遇到问题就是辣么不想淡定,像个智障,哈哈。

我看到这个目录中的配置,我在想这个空间域名后缀到底要不要改,当然终于在我文件上传一次有一次的404不命中以及各种错之后,最后的答案是当然要改了,从哪里看空间域名后缀呢?首先你得有一个ucloud的账号,登录进去。直接搜ucloud登录就可以了,登录之后选择产品与服务里面的对象存储

然后创建存储空间,前提是你要实名认证才能用,要传上字节的身份证号,身份证照片,银行卡号,这是个人认证,还可以进行企业认证,大概几分钟认证完之后你就可以存储了

你得主要你创建的空间类型,如果是公开的是都可以访问的,私有的是外部访问不了的,除非你有公钥和私钥。

可以直接在这里面进行文件上传,也可以在项目中调用他的方法

还有配置里面的公钥和私钥是在产品与服务中-操作管理-API密钥里面生成的,每个用户唯一而且不会改变

获取你的公钥和密钥填入你的conf.php中就能使用了。

写了个示例代码

$bucket就是你在创建存储空间时候的空间存储域名,写啥就是傻就行了,$key是你要上传的文件名,历史经验告诉我,文件名是绝对不能重复的,重复了传不上,所以你可以使用一个uniqid()获取当前毫秒数给他加在文件名里面。然后就是调用他的方法传入这些参数就可以了。其中$data['ETag']是这个文件的路径,和这个路径一样,访问这个路径就可以展示图片,文档的话就直接给你下载了,然后将这些路径存到你的数据库就可以了。

其实真的就是一个接口的调用而已,很简单,洒洒水啦。所以我们要努力变得更优秀。我的最终目标是不加班,一个小时写完的代码,为什么要浪费一天的时间。that's not real life。加油

作者:落魄PHP女程序员

链接:https://www.jianshu.com/p/dd8b52156c9f

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

(资源库 www.zyku.net)

上一篇:返回列表

栏    目:其它云平台

下一篇:返回列表

本文标题:ucloud云计算实现cdn文件上传

本文地址:https://www.zyku.net/othercloud/6924.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务