zhihanglee / aliyun-oss-laravel

Alibaba Cloud Object Storage Service For Laravel

Home Page:https://alphasnow.github.io/aliyun-oss-laravel/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

English | 简体中文

Aliyun Oss Storage for Laravel

Build Status Latest Stable Version Build Status Scrutinizer Code Quality Code Coverage License FOSSA Status

Alibaba Cloud Object Storage Service For Laravel

Requirements

  • PHP >= 7.0
  • laravel/framework >= 5.5

Installation

  1. If you use the composer to manage project dependencies, run the following command in your project's root directory:

    $ composer require alphasnow/aliyun-oss-laravel

    You can also declare the dependency on Alibaba Cloud Object Storage Service For Laravel in the composer.json file.

    "require": {
        "alphasnow/aliyun-oss-laravel": "~2.6"
    }
    

    Then run composer install to install the dependency.

  2. Modify the environment file .env

    ALIYUN_OSS_ACCESS_ID = <Your aliyun accessKeyId, Required>
    ALIYUN_OSS_ACCESS_KEY= <Your aliyun accessKeySecret, Required>
    ALIYUN_OSS_BUCKET    = <Your oss bucket name, Required>
    ALIYUN_OSS_ENDPOINT  = <Your oss endpoint domain, Required>
    ALIYUN_OSS_INTERNAL  = <Your oss internal domain, Optional>
    ALIYUN_OSS_DOMAIN    = <Your oss cdn domain, Optional>
    ALIYUN_OSS_USE_SSL   = false
    
  3. (Optional) Modify the configuration file config/filesystems.php

    'default' => env('FILESYSTEM_DRIVER', 'aliyun'),
    // ...
    'disks'=>[
        // ...
        'aliyun' => [
            'driver'     => 'aliyun',
            'access_id'  => env('ALIYUN_OSS_ACCESS_ID'),      // For example: LTAI4**************qgcsA
            'access_key' => env('ALIYUN_OSS_ACCESS_KEY'),     // For example: PkT4F********************Bl9or
            'bucket'     => env('ALIYUN_OSS_BUCKET'),         // For example: my-storage
            'endpoint'   => env('ALIYUN_OSS_ENDPOINT'),       // For example: oss-cn-shanghai.aliyuncs.com
            'internal'   => env('ALIYUN_OSS_INTERNAL', null), // For example: oss-cn-shanghai-internal.aliyuncs.com
            'domain'     => env('ALIYUN_OSS_DOMAIN', null),   // For example: oss.my-domain.com
            'use_ssl'    => env('ALIYUN_OSS_USE_SSL', false), // Whether to use https
        ],
        // ...
    ]
    

Usage

use Illuminate\Support\Facades\Storage;
$storage = Storage::disk('aliyun');

Write

Storage::disk('aliyun')->putFile('prefix/path', '/local/path/file.txt');
Storage::disk('aliyun')->putFileAs('prefix/path', '/local/path/file.txt', 'file.txt');

Storage::disk('aliyun')->put('prefix/path/file.txt', file_get_contents('/local/path/file.txt'));
$fp = fopen('/local/path/file.txt','r');
Storage::disk('aliyun')->put('prefix/path/file.txt', $fp);
fclose($fp);

Storage::disk('aliyun')->putRemoteFile('prefix/path/file.txt', 'http://example.com/file.txt');

Storage::disk('aliyun')->prepend('prefix/path/file.txt', 'Prepend Text'); 
Storage::disk('aliyun')->append('prefix/path/file.txt', 'Append Text');

Read

Storage::disk('aliyun')->url('prefix/path/file.txt');
Storage::disk('aliyun')->temporaryUrl('prefix/path/file.txt');
Storage::disk('aliyun')->temporaryUrl('prefix/path/file.txt', \Carbon\Carbon::now()->addMinutes(30));

Storage::disk('aliyun')->get('prefix/path/file.txt'); 

Storage::disk('aliyun')->exists('prefix/path/file.txt'); 
Storage::disk('aliyun')->size('prefix/path/file.txt'); 
Storage::disk('aliyun')->lastModified('prefix/path/file.txt');

Delete

Storage::disk('aliyun')->delete('prefix/path/file.txt');
Storage::disk('aliyun')->delete(['prefix/path/file1.txt', 'prefix/path/file2.txt']);

File operation

Storage::disk('aliyun')->copy('prefix/path/file.txt', 'prefix/path/file_new.txt');
Storage::disk('aliyun')->move('prefix/path/file.txt', 'prefix/path/file_new.txt');
Storage::disk('aliyun')->rename('prefix/path/file.txt', 'prefix/path/file_new.txt');

Folder operation

Storage::disk('aliyun')->makeDirectory('prefix/path'); 
Storage::disk('aliyun')->deleteDirectory('prefix/path');

Storage::disk('aliyun')->files('prefix/path');
Storage::disk('aliyun')->allFiles('prefix/path');

Storage::disk('aliyun')->directories('prefix/path'); 
Storage::disk('aliyun')->allDirectories('prefix/path'); 

Documentation

Issues

Opening an Issue

License

MIT

FOSSA Status

About

Alibaba Cloud Object Storage Service For Laravel

https://alphasnow.github.io/aliyun-oss-laravel/

License:MIT License


Languages

Language:PHP 100.0%