PHP上传图片或文件到阿里云OSS存储

熊海
熊海

一些图片使用比较多的项目,考虑到用户访问速度等,迁移到阿里云的OSS上面了,速度比ECS强了很多。

/**
 * 阿里云OSS上传
 * @access public
 * @param  string   $object 阿里云OSS的存储路径,例如: images/www.imxh.cn.jpg
 * @param  string   $Path   服务器本地的文件路径,例如: /home/www/blparking/tmp/imxh.jpg
 * @param  string   $bucket   阿里云OSS的bucket名称,例如:blparking
 * @return bool
 */
 
      //阿里云OSS存储
    'aliyun_oss' => [
        'accessKeyId'      => 'LTAI4G74VcrGfqzU2*****',
        'accessKeySecret'  => 'GtgYTJVBrOeW9pkAR5W9****',
        'endpoint'         => 'oss-cn-hangzhou.aliyuncs.com',
        'bucket'           => 'blparking',
        'domain'           =>'http://oss.data.imxh.cn', //自定义域名
        'cdn'              => ''
    ],
 

function ossUpload($object,$Path,$bucket='blparking'){
    $config = config('aliyun_oss');
    if(!$bucket){
        $bucket=$config['bucket'];
    }

    $oss=new \OSS\OssClient($config['accessKeyId'],$config['accessKeySecret'],$config['endpoint']);
    try{
        $return=$oss->uploadFile($bucket, $object, $Path);
        $return['info']['myurl']=str_replace("http://blparking.oss-cn-hangzhou.aliyuncs.com",$config['domain'],$return['info']['url']);
    } catch(\Exception $e) {
        return $e->getMessage();//如果出错返回错误
    }
    return $return;
}


支付宝打赏支付宝 微信
微信扫一扫
0 条评论

评论:

发送