cloudycity / laravel-filesystem-obs
华为云OBS文件系统存储,适用于Laravel 5+
v3.3.1
2021-07-10 08:10 UTC
Requires
- php: ^7.1|^8.0
- guzzlehttp/guzzle: ^7.0
- laravel/framework: ^5.2|^6.0|^7.0|^8.0
- league/flysystem: ^1.1
This package is auto-updated.
Last update: 2024-09-10 15:06:38 UTC
README
基于cloudycity/laravel-filesystem-obs的Laravel的华为云OBS存储华为云OBS。
仅兼容Guzzle v7。如果必须使用Guzzle v6,请查看dscmall/laravel-filesystem-obs。
要求
- PHP >= 7.1.3
安装
$ composer require "cloudycity/laravel-filesystem-obs:^3.3.1" -vvv
配置
- 将obs配置添加到
config\filesystems.php
。
<?php return [ 'disks' => [ //... 'obs' => [ 'driver' => 'obs', 'key' => env('OBS_ACCESS_ID'), // <Your Huawei OBS AccessKeyId> 'secret' => env('OBS_ACCESS_KEY'), // <Your Huawei OBS AccessKeySecret> 'bucket' => env('OBS_BUCKET'), // <OBS bucket name> 'endpoint' => env('OBS_ENDPOINT'), // <the endpoint of OBS, E.g: (https:// or http://).obs.cn-east-2.myhuaweicloud.com | custom domain, E.g:img.abc.com> OBS 外网节点或自定义外部域名 'cdn_domain' => env('OBS_CDN_DOMAIN'), //<CDN domain, cdn域名> 如果isCName为true, getUrl会判断cdnDomain是否设定来决定返回的url,如果cdnDomain未设置,则使用endpoint来生成url,否则使用cdn 'ssl_verify' => env('OBS_SSL_VERIFY'), // <true|false> true to use 'https://' and false to use 'http://'. default is false, 'debug' => env('APP_DEBUG'), // <true|false> ], //... ] ];
- (可选)如果您使用的是版本小于5.5的Laravel,您需要在您的
config/app.php
文件中注册Obs\ObsServiceProvider
'providers' => [ // Other service providers... Obs\ObsServiceProvider::class, ],
使用方法
$disk = Storage::disk('obs'); // create a file $disk->put('avatars/filename.jpg', $fileContents); // check if a file exists $exists = $disk->has('file.jpg'); // get timestamp $time = $disk->lastModified('file1.jpg'); $time = $disk->getTimestamp('file1.jpg'); // copy a file $disk->copy('old/file1.jpg', 'new/file1.jpg'); // move a file $disk->move('old/file1.jpg', 'new/file1.jpg'); // get file contents $contents = $disk->read('folder/my_file.txt'); // fetch url content $file = $disk->fetch('folder/save_as.txt', $fromUrl); // get file url $url = $disk->getUrl('folder/my_file.txt'); // get file upload token $token = $disk->getUploadToken('folder/my_file.txt'); $token = $disk->getUploadToken('folder/my_file.txt', 3600); // get private url $url = $disk->privateDownloadUrl('folder/my_file.txt');
许可证
MIT