关键词搜索

全站搜索
×
密码登录在这里
×
注册会员
×

已有账号? 请点击

忘记密码

已有账号? 请点击

使用其他方式登录

Thinkphp5使用oss存储图片插件

发布2020-11-25 浏览1125次

详情内容

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

2.通过composer安装oss插件

通过cmd,到项目的目录下,输入下面的指令。

composer require aliyuncs/oss-sdk-php

3.配置好oss信息,在config.php中

'aliyun_oss' => [        'accessKeyId'      => '',  //您的Access Key ID
        'accessKeySecret'  => '',  //您的Access Key Secret
        'endpoint'   => '',  //阿里云oss 外网地址endpoint
        'bucket'     => '',  //Bucket名称
        'url'           => ''  // 访问的地址]

4.上传图片,并处理到aliyun中

function aliyun($savePath,$category='',$isunlink=false,$bucket="yunlutong-img"){
        $accessKeyId = config('aliyun_oss.accessKeyId');//去阿里云后台获取秘钥
        $accessKeySecret = config('aliyun_oss.accessKeySecret');//去阿里云后台获取秘钥
        $endpoint = config('aliyun_oss.endpoint');//你的阿里云OSS地址
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);        //        判断bucketname是否存在,不存在就去创建
        if( !$ossClient->doesBucketExist($bucket)){
            $ossClient->createBucket($bucket);
        }
        $category=empty($category)?$bucket:$category;

        $savePath = str_replace("\\","/",$savePath);

        $object = $category.'/'.$savePath;//想要保存文件的名称
        $file = './uploads\\'.$savePath;//文件路径,必须是本地的。

        try{
            $ossClient->uploadFile($bucket,$object,$file);            if ($isunlink==true){
                unlink($file);
            }
        }catch (OssException $e){
            $e->getErrorMessage();
        }
        $oss=config('aliyun_oss.url');        return $oss."/".$object;
}

记得要在类的头部引入,

use \OSS\OssClient;

在图片长传之后,处理到阿里云oss中,并将地址保存到数据库

// 添加$file = request()->file('img');// 移动到框架应用根目录/public/uploads/ 目录下$upload_info = $file->move(config('upload_path'));if(!$upload_info){    // 上传失败获取错误信息
    $this->error($file->getError());
}

$oss_img_url = $this->aliyun($upload_info->getSaveName(),'live');

$data['title'] = input('post.title');
$data['info'] = input('post.info');
$data['url'] = input('post.url');
$data['sort'] = input('post.sort');
$data['addtime'] = time();
$data['img'] = $oss_img_url;// '/uploads\\'.$upload_info->getSaveName();$res = db("live_banner")->insert($data);if ($res) {    $this->success('操作成功', url('LiveExtra/bannerList'));
} else {    $this->error('操作失败');
}


点击QQ咨询
开通会员
返回顶部
×
  • 微信支付
微信扫码支付
微信扫码支付
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
确定支付下载