thinkcmf5.1安装OSS及简单使用

首先下载安装thinkcmf5.1,参见https://www.thinkcmf.com/doc5_1.html

安装完成后,切换到项目根目录,使用命令 composer require aliyuncs/oss-sdk-php,参见https://help.aliyun.com/document_detail/85580.html,等待下载完成,即可直接调用使用

登陆阿里云,开通OSS,创建ram子账号管理oss,参考sdk示例,开始使用OSS

在app/demo创建控制器,引用OSS

use OSS\OssClient;
use OSS\Core\OssException;
  • 创建bucket
/**
     * 创建存储空间
     */
    function createBucket($bucket)
    {
    	// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    	$accessKeyId = "accessKeyId ";
    	$accessKeySecret = "accessKeySecret";
    	// Endpoint请按实际情况填写。
    	$endpoint = "http://oss-cn-huhehaote-internal.aliyuncs.com";

    	try {
    		$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
            //默认创建私有读写的bucket
    		//$result = $ossClient->createBucket($bucket);
    		// 设置存储空间的存储类型为低频访问类型,默认是标准类型。
    		$options = array(
    				OssClient::OSS_STORAGE => OssClient::OSS_STORAGE_IA
    		);
    		// 设置存储空间的权限为公共读,默认是私有读写。
    		$result = $ossClient->createBucket($bucket, OssClient::OSS_ACL_TYPE_PUBLIC_READ, $options);
    	} catch (OssException $e) {
    		$result = $e->getMessage();
    	}

    	return $result;
    }

这里有两点要注意,1.需要确定好bucket的权限: 公共读/私有,因为上传到OSS的文件权限会默认集成bucket,2.bucket名称需要注意:只能包括小写字母、数字和短横线(-)。必须以小写字母或者数字开头和结尾。长度必须在 3–63 字节之间。参见https://help.aliyun.com/document_detail/31827.html

  • 上传文件

  

function uploadFile($object, $filePath)
{
	// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
   	$accessKeyId = "accessKeyId";
   	$accessKeySecret = "accessKeySecret";
   	// Endpoint请按实际情况填写。
   	$endpoint = "http://oss-cn-huhehaote.aliyuncs.com";
   	// 存储空间名称
   	$bucket = "bucket";
   	try {
   		$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
   		$result = $ossClient->uploadFile($bucket, $object, $filePath);
   	} catch (OssException $e) {
   		$result = $e->getMessage();
   	}

   	return $result;
}

  

$ossClient->uploadFile($bucket, $object, $filePath); 其中第一个参数表示bucket名称,第二个参数表示上传到OSS的文件,使用 UTF-8 编码。长度必须在 1–1023 字节之间。不能以正斜线(/)或者反斜线(\)开头。参见https://help.aliyun.com/document_detail/31827.html,第三个参数表示将要上传的本地文件

另外在上传文件时发现,地域节点EndPoint用外网链接,上传成功后,返回的是外网文件地址,外网可访问,如果用内网链接,上传成功会返回内网文件地址,外网无法访问

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值