buuum / s3
简单的aws s3类
v1.0.0
2017-07-11 10:28 UTC
Requires
- php: >=5.5.0
Requires (Dev)
README
安装
系统要求
您需要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
特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人士,在不受限制的情况下使用该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向提供软件的人士授予上述权利,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,除非另有规定,否则不提供任何形式的保证,无论是明示的、暗示的,还是关于适销性、特定用途的适用性或非侵权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论是基于合同、侵权或其他法律行为,还是源于、与软件或软件的使用或其他交易有关。