xinningsu/laravel-filesystem-baidu-bos

百度BOS存储用于Laravel,百度对象存储作为Laravel文件存储。

v1.0.2 2024-06-02 01:11 UTC

This package is auto-updated.

Last update: 2024-09-02 01:38:46 UTC


README

百度BOS存储用于Laravel,百度对象存储作为Laravel文件存储。

MIT licensed Build Status Coverage Status Scrutinizer Code Quality Code Intelligence Status Quality Gate Status Reliability Rating Security Rating Maintainability

安装

composer require xinningsu/laravel-filesystem-baidu-bos

发现

  • 对于Laravel >= 5.5,它使用包自动发现功能,无需添加服务提供者。
  • 对于Laravel < 5.5,将Sulao\LaravelFilesystem\BaiduBos\BaiduBosServiceProvider::class添加到config/app.php文件下的providers元素。
return [
    // ...
    'providers' => [
        // ...
        /*
         * Package Service Providers...
         */
        Sulao\LaravelFilesystem\BaiduBos\BaiduBosServiceProvider::class,
    ],
    // ...
];

配置

在.env文件中设置bos凭证,然后在config/filesystems.php中添加新磁盘。

return [
    // ...
    'disks' => [
        // ...
        'bos' => [
            'driver' => 'bos',
            'access_key' => env('BOS_KEY'),
            'secret_key' => env('BOS_SECRET'),
            'region' => env('BOS_REGION'), // gz, bj ...
            'bucket' => env('BOS_BUCKET'),
        ],
        // ...
    ],
    // ...
];

示例

$disk = \Illuminate\Support\Facades\Storage::disk('bos');

// Determine if a file exists.
$disk->exists('file.txt');

// Get the contents of a file.
$content = $disk->get('file.txt');

// Get a resource to read the file.
$stream = $disk->readStream('file.txt');

// Write the contents of a file.
$disk->put('file.txt', 'contents');

// Write a new file using a stream.
$disk->writeStream('file.txt', fopen('/resource.txt', 'r'));

// Get the visibility for the given path.
$visibility = $disk->getVisibility('file.txt');

// Set the visibility for the given path.
$disk->setVisibility('file.txt', 'public');

// Prepend to a file.
$disk->prepend('file.txt', 'prepend contents');

// Append to a file.
$disk->append('file.txt', 'append contents');

// Delete the file(s) at a given path.
$disk->delete('file.txt');
$disk->delete(['file.txt', 'file2.txt']);

// Copy a file to a new location.
$disk->copy('file.txt', 'new_file.txt');

// Move a file to a new location.
$disk->move('file.txt', 'new_file.txt');

// Get the file size of a given file.
$size = $disk->size('file.txt');

// Get the file's last modification time.
$ts = $disk->lastModified('file.txt');

// Get an array of all files in a directory.
$files = $disk->files($directory = 'test/', $recursive = false);

// Get all of the files from the given directory (recursive).
$allFiles = $disk->allFiles($directory = null);

// Get all of the directories within a given directory.
$dirs = $disk->directories($directory = null, $recursive = false);

// Get all (recursive) of the directories within a given directory.
$allDirs = $disk->allDirectories($directory = null);

// Create a directory.
$disk->makeDirectory('test/');

// Delete a directory.
$disk->deleteDirectory('test/');

参考

许可证

MIT