ThinkPHP5.0使用阿里云OSS上传文件

#### 封装方法
/**
     * 上传阿里云
     * @param $localpath    本地路径
     * @param $uploadpath   上传路径
     * @return mixed
     */
    function uploadOss($localpath, $uploadpath)
    {
        import('.OSS.autoload', '', '.php');
        $accessKeyId = Config::get('aliyun')['OSS']['ACCESS_KEY_ID'];//去阿里云后台获取秘钥
        $accessKeySecret = Config::get('aliyun')['OSS']['ACCESS_KEY_SECRET'];//去阿里云后台获取秘钥
        $endpoint = Config::get('aliyun')['OSS']['ENDPOINT'];//你的阿里云OSS地址
        $ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);
        $bucket = Config::get('aliyun')['OSS']['BUCKET'];//oss中的文件上传空间
        $oss = $ossClient->uploadFile($bucket, $uploadpath, $localpath, $options = NULL);
        if ($oss['info']['http_code'] == 200) {
            return $oss['info']['url'];
        } else {
            return $oss['info']['http_code'];
        }
    }
/**
 * 获取文件扩展名
 * @param $url
 * @return mixed
 */
function getExt($url)
{
    $path = parse_url($url);
    $str = substr(strrchr($path['path'], '.'), 1);
    return $str;
}

/*php生成GUID 全球唯一序列号*/
function getGuid()
{
    $charid = strtoupper(md5(uniqid(mt_rand(), true)));
    $hyphen = chr(45);// "-"
    $uuid = substr($charid, 0, 8) . $hyphen
        . substr($charid, 8, 4) . $hyphen
        . substr($charid, 12, 4) . $hyphen
        . substr($charid, 16, 4) . $hyphen
        . substr($charid, 20, 12);
    return $uuid;
}

逻辑代码

if($_FILES['coverimage']['error'] == 0){
    // 服务器路径
    $localpath = $_FILES['coverimage']['tmp_name'];
    $filename   = $_FILES['coverimage']['name'];
    $filename   = getGuid().'.'.getExt($filename);//一个随机名称
    // OSS路径
    $uploadpath = "api/works/" . date("Ymd") . "/" . $filename;
    $coverimage = uploadOss($localpath, $uploadpath);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值