dscmall/laravel-filesystem-cos

A Cos storage filesystem for Laravel.

v3.0.2 2021-04-07 07:32 UTC

This package is auto-updated.

Last update: 2024-04-07 14:47:46 UTC


README

Tencent Cloud COS storage for Laravel

Requirement

  • PHP >= 7.1

Installation

$ composer require "dscmall/laravel-filesystem-cos" -vvv

Configuration

  1. Add a new disk to your config/filesystems.php config:
<?php

return [
   'disks' => [
       //...
       'cos' => [
        'driver' => 'cos',
       'region'          => env('COS_REGION', 'ap-guangzhou'),
       'credentials'     => [
           'appId'     => env('COS_APP_ID'),
           'secretId'  => env('COS_SECRET_ID'),
           'secretKey' => env('COS_SECRET_KEY'),
       ],
       'timeout'         => env('COS_TIMEOUT', 60),
       'connect_timeout' => env('COS_CONNECT_TIMEOUT', 60),
       'bucket'          => env('COS_BUCKET'),
       'cdn'             => env('COS_CDN'),
       'scheme'          => env('COS_SCHEME', 'https'),
       'read_from_cdn'   => env('COS_READ_FROM_CDN', false),
       ],
       //...
    ]
];

Usage

$disk = Storage::disk('cos');

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

Full API documentation.

License

MIT