enoliu / flysystem-oss
Flysystem adapter for the AliYun OSS storage.
1.0.1
2021-01-23 03:21 UTC
Requires
- ext-json: *
- aliyuncs/oss-sdk-php: ^2.4
- league/flysystem: ^1.0
README
Flysystem adapter for the AliYun OSS storage..
Installing
$ composer require enoliu/flysystem-oss -vvv
Usage
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);
Contributing
You can contribute in one of three ways:
- File bug reports using the issue tracker.
- Answer questions or fix bugs on the issue tracker.
- Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
License
MIT