Tp5 调用阿里云OSSsdk

<?php
//阿里云oss存储
namespace app\common\controller;

vendor('aliyun-oss.autoload');
use OSS\OssClient;
use OSS\Core\OssException;
class AliyunOss
{
	public $accessKeyId = "";
	public $accessKeySecret = "";
	public $endpoint = "";
	public $bucket= "";
	/**
	 * oss 上传图片或其他文件
	 * @param $object oss存储地址
	 * @param $filePath 带路径文件名
	 */
	public function uploadOssFile($object, $filePath)
	{
		try{
			$ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
			$ossClient->uploadFile($this->bucket, $object, $filePath);
		} catch(OssException $e) {
			return false;
		}
		return true;
	}
	
	/**
	 * oss判断文件是否存在
	 * @param $object 要判断的文件
	 */
	public function checkFileExist($object)
	{
		try{
			$ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
			$exist = $ossClient->doesObjectExist($this->bucket, $object);
		} catch(OssException $e) {
			return false;
		}
		return $exist;
	}
	
	/**
	 * oss 删除多个文件
	 * @param $objects array  多个文件
	 * @return bool
	 */
	public function deleteFiles($objects)
	{
		try{
			$ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
			$ossClient->deleteObjects($this->bucket, $objects);
		} catch(OssException $e) {
			return false;
		}
		return true;
	}
	
	/**
	 * 获取指定文件件下的文件列表
	 * @param string $prefix   指定目录
	 * @param string $nextMarker  从那个文件开始(不包含)(获取文件夹下所有文件的话,值与$prefix相同)
	 * @param string $delimiter  对文件名称进行分组的一个字符。CommonPrefixes是以delimiter结尾,并有共同前缀的文件集合。
	 * @param string $maxkeys  列举文件的最大个数。默认为100,最大值为1000。
	 * @return bool array 返回文件列表
	 */
	public function listObject($prefix = '', $nextMarker = '', $delimiter= '', $maxkeys = '')
	{
		try {
			$options = array(
				'prefix' => $prefix,
				'marker' => $nextMarker,
				'delimiter' => $delimiter,
				'max-keys' => $maxkeys,
			);
			$ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint);
			$listObjectInfo = $ossClient->listObjects($this->bucket, $options);
		} catch (OssException $e) {
			return false;
		}
//		$nextMarker = $listObjectInfo->getNextMarker();
		$listObject = $listObjectInfo->getObjectList();
//		$listPrefix = $listObjectInfo->getPrefixList();
		
		if (!empty($listObject)) {
			$list = array();
			foreach ($listObject as $objectInfo) {
				$list[] = $objectInfo->getKey();
			}
			return $list;
		}else{
			return false;
		}
	}
}

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值