yareg / yii2-s3client
为 Yii2 框架提供的 Amazon S3 / MinIO 客户端组件
v2.1.3
2020-06-19 13:21 UTC
Requires
- php: >=7.0
- ext-json: *
- aws/aws-sdk-php: ^3
- yiisoft/yii2: ^2
README
基于 klinson/aws-s3-minio 的 Yii2 S3Client
安装
推荐通过 Composer 安装
php composer.phar require yareg/yii2-s3client:^2
或者,你可以在你的 composer.json
文件的 require 部分添加
"yareg/yii2-s3client": "^2"
并执行 php composer.phar update
。
配置
在 web.php
中
'components' => [ 's3client' => [ 'class'=> 'yareg\S3Client', 'key' => '<your key>', 'secret' => '<your secret>', 'endpoint'=> '<your endpoint>', 'region' => '<your region>', 'debug' => false, // optional 'http' => [ //optional 'verify' => false //use false to self-signed certs ], ], ],
用法
/** @var S3Client $s3client */
$s3client = Yii::$app->s3client;
桶操作
/**
* @return array|mixed
*/
$s3client->listBuckets();
/**
* @param string $bucket
* @return bool
*/
$s3client->createBucket('test');
/**
* @param string $bucket
* @return bool
*/
$s3client->deleteBucket('test');
/**
* @param string $bucket
* @return bool
*/
$s3client->publishBucket('test'); // WARNING! Your files will be publicly accessible!
/**
* @param string $bucket
* @return bool
*/
$s3client->deleteBucketPolicy('test'); // May be used to unpublish the bucket
对象操作
/**
* @param string $filePath
* @param string $bucket
* @param string $key
* @param array $meta
* @param array $tags
* @param array $args
* @return bool
*/
$s3client->putFile(string $filePath, string $bucket, string $key, array $meta = [], array $tags = [], array $args = []);
/**
* @param string $content
* @param string $bucket
* @param string $key
* @param array $meta
* @param array $tags
* @param array $args
* @return bool
*/
$s3client->putContent(string $content, string $bucket, string $key, array $meta = [], array $tags = [], array $args = []);
/**
* @param string $bucket
* @param string $key
* @param string|null $saveAs
* @return mixed|null
*/
$s3client->getObject(string $bucket, string $key, string $saveAs = null);
/**
* @param string $bucket
* @param string $prefix
*/
$s3client->listObjects(string $bucket, string $prefix = null);
/**
* @param string $bucket
* @param string $key
* @return bool
*/
$s3client->objectExists(string $bucket, string $key);
/**
* @param string $bucket
* @param array $keys
* @return bool
*/
$s3client->deleteObjects(string $bucket, array $keys = []);