buuum/s3

简单的aws s3类

v1.0.0 2017-07-11 10:28 UTC

This package is auto-updated.

Last update: 2024-09-17 20:25:53 UTC


README

Packagist license

安装

系统要求

您需要PHP >= 5.5.0来使用Buuum\S3,但推荐使用PHP的最新稳定版本。

Composer

Buuum\S3可在Packagist上找到,并可以使用Composer进行安装。

composer require buuum/s3

手动

只要您的自动加载器遵循PSR-0或PSR-4标准,您就可以使用自己的自动加载器。只需将src目录的内容放入您的vendor目录中。

常量

const ACL_PRIVATE = 'private';
const ACL_PUBLIC_READ = 'public-read';
const ACL_PUBLIC_READ_WRITE = 'public-read-write';
const ACL_AUTHENTICATED_READ = 'authenticated-read';

const STORAGE_CLASS_STANDARD = 'STANDARD';
const STORAGE_CLASS_RRS = 'REDUCED_REDUNDANCY';
const STORAGE_CLASS_STANDARD_IA = 'STANDARD_IA';

用法

初始化

S3::setAuth($awsAccessKey, $awsSecretKey);

设置和获取默认存储桶

S3::setBucket($bucket);
S3::getBucket();

设置URL

$urls = [
    'http'  => 'http://s3-eu-west-1.amazonaws.com/bucket',
    'https' => 'https://s3-eu-west-1.amazonaws.com/bucket'
];
S3::setUrls($urls);

设置ACL和存储(可选,默认acl = S3::ACL_PUBLIC_READ,存储 = S3::STORAGE_CLASS_STANDARD)

S3::setAcl(S3::ACL_PRIVATE);
S3::setStorage(S3::STORAGE_CLASS_STANDARD);

上传对象

从$_FILES中上传对象

S3::putObject($_FILES['filename']['tmp_name'], $_FILES['filename']['name']);

从字符串上传对象

S3::putObjectString(file_get_contents('bg.jpg'), 'bg.jpg');

从URL上传对象

$url = 'https://www.enterprise.es/content/dam/ecom/utilitarian/emea/business-rentals/business-rental-band.jpg.wrend.1280.720.jpeg';
S3::putObjectUrl($url, 'car.jpg');

在put对象时设置头部信息 1.- 作为参数

$headers = [
    'Cache-Control' => 'max-age=2592000',
    'Expires'       => 2592000,
];
S3::putObjectUrl($url, 'car.jpg', $headers);

2.- 作为默认头部

$headers = [
    'Cache-Control' => 'max-age=2592000',
    'Expires'       => 2592000,
];
S3::setDefaultHeaders($headers);

上传响应

array(4) {
  ["code"]=> int(200)
  ["error"]=>  bool(false)
  ["message"]=>  string(0) ""
  ["url"]=>
  array(3) {
    ["default"]=>
    string(53) "https://bucket.s3.amazonaws.com/20130726_173253.jpg"
    ["http"]=>
    string(62) "http://s3-eu-west-1.amazonaws.com/bucket/20130726_173253.jpg"
    ["https"]=>
    string(63) "https://s3-eu-west-1.amazonaws.com/bucket/20130726_173253.jpg"
  }
}

检索对象

获取对象

$response = S3::getObject('bg.jpg',$bucketName);
file_put_contents('bg.jpg', $response->message);

删除对象

删除对象

S3::deleteObject('bg.jpg',$bucketName);

从URL删除对象

S3::deleteObjectUrl('https://s3-eu-west-1.amazonaws.com/bucket/20130726_173253.jpg');

存储桶

获取存储桶列表

$buckets = S3::listBuckets();

创建存储桶

S3::putBucket($bucketName);

删除空存储桶

S3::deleteBucket($bucketName);

文件

获取存储桶中文件列表

S3::listFiles($bucketName);

许可证

MIT许可证 (MIT)

版权所有 (c) 2016

特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人士,在不受限制的情况下使用该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向提供软件的人士授予上述权利,但须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,除非另有规定,否则不提供任何形式的保证,无论是明示的、暗示的,还是关于适销性、特定用途的适用性或非侵权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论是基于合同、侵权或其他法律行为,还是源于、与软件或软件的使用或其他交易有关。