enoliu/flysystem-oss

Flysystem 针对阿里云 OSS 存储的适配器。

1.0.1 2021-01-23 03:21 UTC

This package is auto-updated.

Last update: 2024-09-23 11:57:13 UTC


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);

贡献

您可以通过以下三种方式之一进行贡献

  1. 使用 问题追踪器 提交错误报告。
  2. 问题追踪器 上回答问题或修复错误。
  3. 贡献新功能或更新 wiki。

代码贡献过程并不非常正式。您只需确保遵循 PSR-0、PSR-1 和 PSR-2 编码规范。任何新的代码贡献都必须伴随适用的单元测试。

许可

MIT