yareg/yii2-s3client

为 Yii2 框架提供的 Amazon S3 / MinIO 客户端组件

安装: 431

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 1

类型:yii2-component

v2.1.3 2020-06-19 13:21 UTC

This package is auto-updated.

Last update: 2024-09-16 23:03:35 UTC


README

Latest Stable Version Latest Unstable Version License Total Downloads

基于 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 = []);