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

Posted baker95935

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\']);
//
$aa=request()->file(\'file\');$b=$aa->getInfo());

// $result=aliyun_oss_upload($b);
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按照 就开业省去引用了   

以上是关于thinkphp5集成阿里云oss块存储过程github下载的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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