enoliu / flysystem-oss
Flysystem 针对阿里云 OSS 存储的适配器。
1.0.1
2021-01-23 03:21 UTC
Requires
- ext-json: *
- aliyuncs/oss-sdk-php: ^2.4
- league/flysystem: ^1.0
README
Flysystem 针对阿里云 OSS 存储的适配器..
安装
$ composer require enoliu/flysystem-oss -vvv
使用方法
use Enoliu\Flysystem\Oss\OssAdapter; use Enoliu\Flysystem\Oss\Plugins\FileUrl; $config = [ 'accessId' => 'LTAI77*****wHf', 'accessSecret' => 'MfSs*****DTcOzpP', 'bucket' => 'l*****2', 'endPoint' => 'oss-cn-beijing.aliyuncs.com', // 'timeout' => 3600, // 'connectTimeout' => 10, // 'isCName' => false, // 'token' => '', // 'useSSL' => false ]; $flysystem = new League\Flysystem\Filesystem(new OssAdapter($config));
常用方法
bool $flysystem->write('file.md', 'contents'); bool $flysystem->write('file.md', 'http://httpbin.org/robots.txt', ['options' => ['xxxxx' => 'application/redirect302']]); bool $flysystem->writeStream('file.md', fopen('path/to/your/local/file.jpg', 'r')); bool $flysystem->update('file.md', 'new contents'); bool $flysystem->updateStream('file.md', fopen('path/to/your/local/file.jpg', 'r')); bool $flysystem->rename('foo.md', 'bar.md'); bool $flysystem->copy('foo.md', 'foo2.md'); bool $flysystem->delete('file.md'); bool $flysystem->has('file.md'); string|false $flysystem->read('file.md'); array $flysystem->listContents(); array $flysystem->getMetadata('file.md'); int $flysystem->getSize('file.md'); string $flysystem->getAdapter()->getUrl('file.md'); string $flysystem->getMimetype('file.md'); int $flysystem->getTimestamp('file.md');
插件扩展
use Enoliu\Flysystem\Oss\Plugins\FileUrl; // 获取 oss 资源访问链接 $flysystem->addPlugin(new FileUrl()); string $flysystem->getUrl('file.md');
高级用法
// 获取前端直传签名配置 $config = [ 'dir' => 'upload/tmp', 'expire' => 60 * 60, 'callback' => 'http://www.baidu.com', 'maxSize' => 10 * 1024 * 1024 ]; array $flysystem->getAdapter()->directUpload($config);
贡献
您可以通过以下三种方式之一进行贡献
代码贡献过程并不非常正式。您只需确保遵循 PSR-0、PSR-1 和 PSR-2 编码规范。任何新的代码贡献都必须伴随适用的单元测试。
许可
MIT