mocode / flysystem-aliyunoss
Flysystem 对 Aliyun OSS 存储的适配器。
1.0.0
2019-04-30 07:14 UTC
Requires
- php: >=5.5.9
- aliyuncs/oss-sdk-php: ~2.3
- league/flysystem: ^1.0
Requires (Dev)
- php: >=5.6.0
- phpunit/phpunit: ~8.0
This package is auto-updated.
Last update: 2024-09-06 15:38:14 UTC
README
这是 Aliyun OSS ~2.3 的 Flysystem 适配器。
灵感来源
安装
$ composer require mocode/flysystem-aliyunoss
用法
use League\Flysystem\Filesystem; use Mocode\Flysystem\AliyunOss\AliyunOssAdapter; use OSS\OssClient; $accessId = 'Aliyun Oss Access Id'; $accessKey = 'Aliyun Oss Access Key'; $endPoint = 'Aliyun Oss endPoint'; $bucket = 'Aliyun Oss Bucket'; $domain = 'Aliyun Oss CDN Domain'; $client = new OssClient($accessId, $accessKey, $endPoint); $adapter = new AliyunOssAdapter($client, $bucket, $domain); $flysystem = new Filesystem($adapter);
API
bool $flysystem->write('file.md', 'contents'); 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');
插件
文件 URL
use Mocode\Flysystem\AliyunOss\\Plugins\PutFile; $flysystem->addPlugin(new PutFile()); bool $flysystem->putFile('file.md', 'contents');
用于 Laravel
编辑 .env
添加 Aliyun OSS 配置
OSS_ACCESS_ID=xxxxxxxxxxxx
OSS_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxx
OSS_BUCKET=xxxxxxxxxx
OSS_ENDPOINT=xxxxxxxxx
OSS_DOMAIN=xxxxxxxxxxxx
编辑配置文件:config/filesystems.php
添加配置
'oss' => [ 'driver' => 'oss', 'access_id' => env('OSS_ACCESS_ID'), // Aliyun OSS AccessKeyId 'access_key' => env('OSS_ACCESS_KEY'), // Aliyun OSS AccessKeySecret 'bucket' => env('OSS_BUCKET'), // OSS bucket name 'endpoint' => env('OSS_ENDPOINT'), // OSS 节点或自定义外部域名 'domain' => env('OSS_DOMAIN'), // CDN domain ],
将默认值更改为 oss
'default' => 'oss'
使用
查看 Laravel 维基
许可证
MIT