ijidan/laravel-filesystem-obs

华为云OBS文件系统存储,适用于Laravel 5+

dev-master 2022-03-31 08:31 UTC

This package is auto-updated.

Last update: 2024-09-29 06:03:20 UTC


README

基于 dscmall/laravel-filesystem-obs 的 Laravel 的华为云OBS存储,详情请见 华为云OBS

大商创技术团队

需求

  • PHP >= 7.1.3

安装

$ composer require "ijidan/laravel-filesystem-obs" -vvv

配置

  1. 安装库后,在您的 config/app.php 文件中注册 Obs\ObsServiceProvider
'providers' => [
    // Other service providers...
    Obs\ObsServiceProvider::class,
],
  1. 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>
      ],
      //...
   ]
];

用法

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

完整的API文档。

许可证

MIT