thinkphp5集成阿里云oss块存储过程github下载

1 配置说明

$config[‘KeyId‘]=‘11‘;  //access keyid
$config[‘KeySecret‘]=‘222‘;//access secret
$config[‘Bucket‘]=‘tyjyvideo‘;//相当于子域名
$config[‘Endpoint‘]=‘http://oss-cn-shenzhen.aliyuncs.com‘;//根据你的位置 选择临近的域名即可

在这里创建的

2 下载aliyun oss的PHP接口 git下载

去这里下载https://github.com/aliyun/aliyun-oss-php-sdk?spm=a2c4g.11186623.2.11.33f9c839ZloB2d   zip包  解压

3 安装

解压后的文件改名为 aliyun_oss

然后放到thinkphp5的这个目录

4 使用

我是封装在common.php文件里面 封装的 方便任何一个位置调用

在common.php的顶部加上如下代码

顶部  加载这个扩展

//加载阿里云OSS
require_once ‘../extend/aliyun_oss/autoload.php‘;
use OSS\OssClient;
use OSS\Core\OssException;

然后在这个文件的底部 加上如下函数

if (!function_exists(‘aliyun_oss_upload‘)) {
    function aliyun_oss_upload($file)
    {
        //阿里云需要的配置
        $config[‘KeyId‘]=‘122‘;
        $config[‘KeySecret‘]=‘22‘;
        $config[‘Bucket‘]=‘55‘;
        $config[‘Endpoint‘]=‘http://oss-cn-shenzhen.aliyuncs.com‘;

        //文件名字获取和判断
        $name = $file[‘name‘];
        $format = strrchr($name, ‘.‘);//截取文件后缀名如 (.mp4)
        /*判断文件格式*/
        $allow_type = [‘.mp4‘, ‘.flv‘, ‘.wmv‘, ‘.avi‘];
        if (! in_array($format, $allow_type)) {
            return 1;exit;
        }

        // 尝试执行
        try {
            //实例化对象 将配置传入
            $ossClient = new OssClient($config[‘KeyId‘], $config[‘KeySecret‘], $config[‘Endpoint‘]);
            //这里是有sha1加密 生成文件名 之后连接上后缀
            $fileName = ‘uplaod/video/‘ . date("Ymd") . ‘/‘ . sha1(date(‘YmdHis‘, time()) . uniqid()) . $format;
            //执行阿里云上传
            $result = $ossClient->uploadFile($config[‘Bucket‘], $fileName, $file[‘tmp_name‘]);

            /*组合返回数据*/
            $arr = [
                ‘oss_url‘ => $result[‘info‘][‘url‘],  //上传资源地址
                ‘relative_path‘ => $fileName     //数据库保存名称(相对路径)
            ];
        } catch (OssException $e) {
            return $e->getMessage();
        }

        return $arr[‘oss_url‘];
    }
}

5 上传测试

代码比较简单 PHP部分

if($this->request->isPost()) {
            $result=aliyun_oss_upload($_FILES[‘file‘]);
            var_dump($result);
        } else {
            return $this->view->fetch();
        }

html部分

 <form action="" method="post"  enctype="multipart/form-data" >
                               <input type="file" name="file" id="file">
                               <input type="submit" value="提交">
                            </form>

6 如果是composer按照 就开业省去引用了

原文地址:https://www.cnblogs.com/baker95935/p/12663179.html

时间: 2024-10-29 19:07:28

thinkphp5集成阿里云oss块存储过程github下载的相关文章

jeesz分布式架构集成阿里云oss存储

1. 服务接口定义 /** * 文件上传  1:头像 2:显示图片 3:个人封面  :4:基础图片 * @param request * @param response * @param uid 用户id * @param userType 文件上传  1:头像 2:显示图片 3:个人封面  :4:基础图片 0:视频 * @param files 上传的文件对象 * @return * @throws Exception */ @RequestMapping(value = "/upload/b

J2EE分布式架构集成阿里云OSS存储

摘要: 1. 服务接口定义 / 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 @param request @param response @param uid 用户id @param userType 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 0:视频 @param files 上传的文件对象 * @return 服务接口定义 /** 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 *@paramrequest *@paramrespon

thinkphp集成系列之阿里云oss

web2.0时代:除了纯信息展示类的网站:基本都是有文件上传功能的: 最不济你得让用户换个头像吧:但是随着业务的发展: 如果上传的文件都和网站程序源代码放在一起:那是有相当多的弊端的: 1:静态文件会占用大量带宽: 2:服务器的成本略高: 常规的做法是把php源代码放到一台服务器上:图片等静态文件放在另一台服务器上: 当一个神奇的“云”时代的到来后:一切就变的更加简单了: 在业务还比较小的时候:我们无需大费周折的去搞一台静态文件服务器:直接使用第三方的即可: 好了:洛里啰嗦了半天:下面请出本篇博

angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)

angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前只有"cn-hangzhou"这个region可用, 不要使用填写其他region的值 //<setting name="accessKeyId" value="H6JSh0Y****z2cGa" /> //<setting name="ecr

在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现Web端直传,服务端签名直传并设置上传回调的实现流程

在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现本地文件上传流程 by shuijingwan · 2016/01/13 1.SDK安装 github地址:https://github.com/aliyun/aliyun-oss-php-sdk 2.复制aliyun-oss-php-sdk-master\src\OSS至passport.hmwis.com\ThinkPHP\Library\Vendor\OSS,如图1.2 复制aliyun-os

laravel下使用阿里云oss上传图片

对小公司而言,使用阿里云oss比直接买硬盘要划算的多,不管从存储性价比上还是从网速负载上.最近因为公司的项目有比较大的图片存储访问需求,所以决定使用阿里云的oss. 在研究了一下以后,摆着不自己造轮子的原则,决定使用AliyunOss,国人laravel高手JohnLui封装的一个阿里云oss的操作库. AliyunOSS 是阿里云 OSS 官方 SDK 的 Composer 封装,支持任何 PHP 项目,包括 Laravel.Symfony.TinyLara 等等.Github 地址:http

安卓手把手教你结合阿里云OSS存储实现视频(音频,图片)的上传与下载

首先,明白阿里云OSS是个什么鬼 阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务.用户可以通过调用API,在任何应用.任何时间.任何地点上传和下载数据,也可以通过用户Web控制台对数据进行简单的管理.OSS适合存放任意文件类型,适合各种网站.开发企业及开发者使用. 以上是官方解释.可以看出,OSS可以为我们在后台保存任何数据,强大无比. 步入正题: 首先你得有个阿里云账号(淘宝账号也可以哦,毕竟阿里账号都通用)

阿里云OSS获Docker官方支持 近百万开发者因此受益

  近年来,开源的容器应用引擎Docker在企业IT市场中风生水起,短短两年内,建立在Docker容器软件内的应用被下载5.35亿次.全球约有400万人在使用Docker,约有150,000个在线应用靠Docker容器运行,大型企业正在空前快速地测试或计划采用Docker,胜过其他任何开源的云端产品. 8月12日,Docker1.8和Docker Registry 2.1发布,新版本中加入了Docker Registry对阿里云开放存储服务的正式支持,阿里云成为被Docker官方支持的存储服务的

简单上传图片到阿里云OSS

OSS主要为用户提供数据存储服务,用户可以通过以下操作来处理OSS上的数据: 1.创建.查看.罗列.删除 Bucket: 2.修改.获取Bucket的访问权限: 3.上传.查看.罗列.删除Object/Object Group: 4.访问时支持If-Modified-Since和If-Match等HTTP参数.特点具体如下: 1.易用性:简单易用,便于管理,深度集成数据处理服务: 2.高可靠:多重冗余备份,服务设计可用性不低于99.99%: 3.强安全:多层次安全防护,支持跨区域复制.异地容灾机