敬告 – 那些反馈BUG的,不带上网址的,我以后一概不搭理,并且直接添加到评论黑名单。你们这些人是来故意捣乱的吧!

ThinkPHP5整合阿里云oss

5个月前 (12-24) 水冷眸丶 PHP 5评论 已收录 1300℃

水冷眸目前手中的一个项目,用得Thinkphp5.0.4制作的,基于访问速度、容灾备份,以及受攻击迅速切换等各方面考虑,程序源代码跟项目中所使用的静态文件、媒体文件都将分开存放。

现如今是一个“云”时代,在初期,乃至后期,我们都不需要专门去为这些分类去购买更多的服务器,而是直接使用云服务商所提供的各类增值功能就能很好的完成这一步。

本项目这次选用的是阿里云的OSS,通过官方给出的开发文档,以及Thinkphp5框架良好的类库扩展功能,将OSS整合进项目当中。

当然,类似阿里云OSS的提供商有很多,但是我们不是来讨论孰优孰劣,而是直接上干货的。

一:准备工作

1:申请Access Key ID和Access Key Secret,以及创建好你的Bucket;

(创建Bucket也可以通过开发文档给出的接口,在自己的项目中操作,但是水冷眸的项目中目前不需要这个功能,因此就跳过了。)


2:根据服务器的位置获取外网endpoint;https://help.aliyun.com/document_detail/31837.html


ok,以上准备工作完成,就可以正式开始着手整合了。

二:安装阿里云OSS的SDK;

关于安装OSS的PHP-SDK的方法,官方给出了三种方式,因为本身Thinkphp5版本,官方也是极度推荐通过composer方式来管理我们的项目依赖,所以水冷眸也是在上手了Thinkphp5之后,小小的百度一下composer到底是个什么东西,但是这不是这篇文章的重点,因此跳过,只说水冷眸的操作过程,有兴趣的朋友可以自行百度composer。

在项目的根目录下,按住shift键并右键打开菜单,选择在此处打开命令行。

然后复制阿里云官方给出的命令行,在命令行窗口点击右键进行粘贴,并回车执行。(略慢,有条件的朋友上梯子,没有的朋友,也请耐心等待。)

composer require aliyuncs/oss-sdk-php

最后出现如下图标识,即为安装成功。


同时,你的项目下的vendor文件夹内,也将出现一个aliyuncs的文件夹,里面的文件就是OSS库文件,以及演示文件,具体的目录说明,可以点此查看,官方给出具体说明的东西,水冷眸就不再赘述了。

三:填写配置项

配置项写在哪里这个各人有各人的喜好,在本文中,水冷眸则是放进应用公共配置文件中,也就是应用目录下的config.php里面。

四:实例化并上传

1:实例化

2:根据官方演示代码,制作上传模块

上面两段代码,均是放在公共模块函数文件里面,在有需要的地方,直接调用uploadFile即可

代码挺简单,仔细看代码的注释,想来你看到本篇教程,又看到最后的,有了注释,要集成也不是什么难事吧。

教程粗糙,各位海涵。目前来说,上面的代码在水冷眸自己的项目中已经测试通过,如有问题,欢迎评论拍砖。

博主

一个纯自学的伪技术宅,此博客的开办,只为在折腾wordpress的路程上渐行渐高,渐行渐远。生命不息,折腾不止!!!

相关推荐

5 条评论

  1. avatar
    -9#

    调用上传方法后,没有返回上传文件的路径吗?还是路径是自己配置的,再结合文件名拼接起来呢?没有使用oss,最近也好奇想研究下。

    yao100 于2016-12-25 1:54 下午 评论 回复
    • avatar

      我是手工配置的、因为整合的时候,我是单纯的用作上传头像,文件上传后是直接放在根目录。所以只是域名+文件名就可以了。

      水冷眸丶 于2016-12-27 8:46 上午 评论 回复
      • avatar

        感觉还是能加上返回文件路径更方便管理。

        yao100 于2016-12-27 9:10 上午 评论 回复
        • avatar

          这个有必要,再过几天,制作到文章发布模块的时候,会用到用户端直传到OSS以及上传后的路径返回。届时做完后会将代码共享。

          水冷眸丶 于2016-12-27 10:54 上午 评论 回复
          • avatar

            好的感谢分享,公司暂时使用微软azure,以后会考虑使用阿里云

            yao100 于2016-12-27 10:55 上午 评论 回复