PHPackages                             back/huawei-obs-storage - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. back/huawei-obs-storage

ActiveLibrary[File &amp; Storage](/categories/file-storage)

back/huawei-obs-storage
=======================

huawei obs filesystem storage for laravel 9+

1.0.0-beta(1y ago)04MITPHPPHP ^8.1|^8.2

Since Jul 2Pushed 1y agoCompare

[ Source](https://github.com/haoqianlei/laravel-filesystem-obs)[ Packagist](https://packagist.org/packages/back/huawei-obs-storage)[ Docs](https://github.com/haoqianlei/laravel-filesystem-obs)[ RSS](/packages/back-huawei-obs-storage/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

Huawei-obs-storage for Laravel 9+
=================================

[](#huawei-obs-storage-for-laravel-9)

Require
-------

[](#require)

- Laravel 9+
- cURL extension

Installation
------------

[](#installation)

In order to install HuaweiOBS-storage, just add

```
"back/huawei-obs-storage": "^1.0"

```

to your composer.json. Then run `composer install` or `composer update`.
Or you can simply run below command to install:

```
"composer require back/huawei-obs-storage:^1.0"

```

Then in your `config/app.php` add this line to providers array:

```
back\HuaweiOBS\HuaweiObsServiceProvider::class,
```

Configuration
-------------

[](#configuration)

Add the following in `app/filesystems.php`:

```
'disks'=>[
    ...
    'obs' => [
            'driver' => 'obs',
            'access_id' => env('OBS_ACCESS_KEY_ID'),
            'access_key' => env('OBS_ACCESS_KEY_SECRET'),
            'bucket' => env('OBS_BUCKET'),
            'endpoint' => env('OBS_ENDPOINT'), // OBS 外网节点或自定义外部域名
            'endpoint_internal' => env('OBS_ENDPOINT_INTERNAL'), // 如果为空，则默认使用 endpoint 配置
            'cdnDomain' => env('OBS_DOMAIN'), // 如果不为空，getUrl会判断cdnDomain是否设定来决定返回的url，如果cdnDomain未设置，则使用endpoint来生成url，否则使用cdn
            'ssl' => env('OBS_SSL', false), // true to use 'https://' and false to use 'http://'. default is false,
            'prefix' => env('OBS_PREFIX'), // 路径前缀
            'options' => [],
            'throw' => true,
    ],
    ...
]
```

Then set the default driver in app/filesystems.php:

```
'default' => 'obs',
```

Ok, well! You are finish to configure. Just feel free to use Huawei OBS like Storage!

Usage
-----

[](#usage)

See [Larave doc for Storage](https://laravel.com/docs/9.x/filesystem#custom-filesystems)Or you can learn here:

> First you must use Storage facade

```
use Illuminate\Support\Facades\Storage;
```

> Then You can use all APIs of laravel Storage

```
Storage::disk('obs'); // if default filesystems driver is obs, you can skip this step

//fetch all files of specified bucket(see upond configuration)
Storage::files($directory);
Storage::allFiles($directory);

Storage::put('path/to/file/file.jpg', $contents); //first parameter is the target file path, second paramter is file content
Storage::putFile('path/to/file/file.jpg', 'local/path/to/local_file.jpg'); // upload file from local path

Storage::get('path/to/file/file.jpg'); // get the file object by path
Storage::exists('path/to/file/file.jpg'); // determine if a given file exists on the storage(OBS)
Storage::size('path/to/file/file.jpg'); // get the file size (Byte)
Storage::lastModified('path/to/file/file.jpg'); // get date of last modification

Storage::directories($directory); // Get all of the directories within a given directory
Storage::allDirectories($directory); // Get all (recursive) of the directories within a given directory

Storage::copy('old/file1.jpg', 'new/file1.jpg');
Storage::move('old/file1.jpg', 'new/file1.jpg');
Storage::rename('path/to/file1.jpg', 'path/to/file2.jpg');

Storage::prepend('file.log', 'Prepended Text'); // Prepend to a file.
Storage::append('file.log', 'Appended Text'); // Append to a file.

Storage::delete('file.jpg');
Storage::delete(['file1.jpg', 'file2.jpg']);

Storage::makeDirectory($directory); // Create a directory.
Storage::deleteDirectory($directory); // Recursively delete a directory.It will delete all files within a given directory, SO Use with caution please.
Storage::url('path/to/img.jpg') // get the file url
Storage::temporaryUrl('path/to/img.jpg', 900) // Get a temporary URL for the file at the given path.
```

Documentation
-------------

[](#documentation)

More development detail see [Huawei OBS DOC](https://support.huaweicloud.com/api-obs/obs_04_0079.html)

License
-------

[](#license)

Except for the Obs directory the source code is released under the MIT license. Read the license file for more information. Obs is Apache License 2.0.

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance50

Moderate activity, may be stable

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

366d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1f714c96f4871c245b679c6c7312a8034f0c4c1cc51e940c91c31c43569e14a4?d=identicon)[a1300657068](/maintainers/a1300657068)

---

Top Contributors

[![haoqianlei](https://avatars.githubusercontent.com/u/22309178?v=4)](https://github.com/haoqianlei "haoqianlei (4 commits)")

---

Tags

laravelstoragefilesystemshuaweiOBS

### Embed Badge

![Health badge](/badges/back-huawei-obs-storage/health.svg)

```
[![Health](https://phpackages.com/badges/back-huawei-obs-storage/health.svg)](https://phpackages.com/packages/back-huawei-obs-storage)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.5M85](/packages/unisharp-laravel-filemanager)[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k95.4M305](/packages/laravel-horizon)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M194](/packages/laravel-ai)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M131](/packages/roots-acorn)[moonshine/moonshine

Laravel administration panel

1.3k253.1k81](/packages/moonshine-moonshine)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
