overtrue/laravel-filesystem-cos

A Cos storage filesystem for Laravel.

Fund package maintenance!
overtrue

3.5.0 2024-03-13 05:14 UTC

This package is auto-updated.

Last update: 2024-12-13 06:54:11 UTC


README

Laravel Octane Ready Status GitHub release (latest SemVer) GitHub License Packagist Downloads

Tencent Cloud COS storage for Laravel based on overtrue/flysystem-cos.

Sponsor me

Requirement

  • Laravel >= 9.0

Installation

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

Configuration

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

return [
   'disks' => [
       //...
       'cos' => [
           'driver' => 'cos',

            'app_id'     => env('COS_APP_ID'),
            'secret_id'  => env('COS_SECRET_ID'),
            'secret_key' => env('COS_SECRET_KEY'),
            'region'     => env('COS_REGION', 'ap-guangzhou'),

            'bucket'     => env('COS_BUCKET'),  // 不带数字 app_id 后缀
           
            // 可选,如果 bucket 为私有访问请打开此项
            'signed_url' => false,

            // 可选,是否使用 https,默认 false
            'use_https' => true, 

            // 可选,自定义域名
            'domain' => 'emample-12340000.cos.test.com', 

            // 可选,使用 CDN 域名时指定生成的 URL host
            'cdn' => env('COS_CDN'),

            'prefix' => env('COS_PATH_PREFIX'), // 全局路径前缀

            'guzzle' => [
                'timeout' => env('COS_TIMEOUT', 60),
                'connect_timeout' => env('COS_CONNECT_TIMEOUT', 60),
            ],
       ],
       //...
    ]
];

🚨 请注意:example-1230000001.cos.ap-guangzhou.mycloud.com

其中:bucket: example, app_id: 1230000001, region: ap-guangzhou

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

Full API documentation.

❤️ Sponsor me

Sponsor me

如果你喜欢我的项目并想支持它,点击这里 ❤️

Project supported by JetBrains

Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.

PHP 扩展包开发

想知道如何从零开始构建 PHP 扩展包?

请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》

License

MIT