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 条评论