thinkcmf5.1安装OSS及简单使用


下载安装thinkcmf5.1,安装完成后,切换到项目根目录,使用命令 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用外网链接,上传成功后,返回的是外网文件地址,外网可访问,如果用内网链接,上传成功会返回内网文件地址,外网无法访问


打赏

评论

暂时关闭,稍后恢复~
文档请看10遍以上!有问题可加QQ群!
发表话题

源素材推荐

提问必知

0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复

积分规则

1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号


ThinkCMF 8.0.1发布啦!节日快乐! 立即体验!