tp5 oss上传

13 篇文章 1 订阅

**

tp5 oss上传

**
1进入项目后,安装扩展

composer require aliyuncs/oss-sdk-php

2.上传文件

 public function upload(){
    // 获取表单上传文件 例如上传了001.jpg
    $file = request()->file('image');
    // 移动到框架应用根目录/public/uploads/ 目录下
    $return =['Code'=>'','Msg'=>''];
    if($file){
        $info = $file->move(ROOT_PATH .'public' . DS . 'Uploads' . DS . 'Images');
        if($info){
            // 成功上传后 获取上传信息
            // 输出 jpg
//                echo $info->getExtension();
                // 输出 20190904/42a79759f284b767dfcb2a0197904287.jpg
                //上传到oss,'xxx/xxx'是文件路径
         $oss_img_url = $this->aliyun($info->getSaveName(),'xxx/xxx');

            
            $return['Code'] = '100000';
            $return['Msg']  = 'Success';
            $return['Data'] = $oss_img_url;
            return json($return);
//                // 输出 42a79759f284b767dfcb2a0197904287.jpg
//                echo $info->getFilename();
        }else{
            $return['Code'] = '100002';
            $return['Msg']  = '上传失败';
            return json($return);
        }
    }
}

3.oss上传代码

function aliyun($savePath,$category='',$isunlink=false,$bucket="xxx"){ ///bucket名
    $accessKeyId = 'xxxxxxxx';//去阿里云后台获取秘钥
    $accessKeySecret = 'xxxxxxxx';//去阿里云后台获取秘钥
    $endpoint = 'oss-cn-beijing.aliyuncs.com';//你的阿里云OSS地址(不要前面的Bucket)
    $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/Images/'.$savePath;//文件路径,必须是本地的。

    try{
        $ossClient->uploadFile($bucket,$object,$file);
        if ($isunlink==true){
            unlink($file);
        }
    }catch (OssException $e){
        $e->getErrorMessage();
    }
    $oss='https://xxx.oss-cn-beijing.aliyuncs.com';//这里是你oos的全url
    return $oss."/".$object;
}

4.accessKeyId和accessKeySecret

在这里插入图片描述

4.跨域
如果是字体。需要解决跨域
在“权限设置”-》“跨域设置”
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值