academe/laravel-azure-file-storage-driver

Laravel 的 Azure 文件存储文件系统驱动

1.0.1 2022-06-07 12:43 UTC

This package is auto-updated.

Last update: 2024-09-07 17:52:38 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version GitHub license GitHub issues

适用于 Laravel 6、7 和 9 的 Microsoft Azure 文件存储文件系统驱动

此包允许在 Laravel 5 和 6 中使用 Microsoft Azure 文件存储作为文件系统。

安装

composer require academe/laravel-azure-file-storage-driver

此包仅扩展文件系统驱动,不提供其他服务。

配置

将以下内容添加到您的 config/filesystems.php

[
    ...
    'disks' => [
        ...
        // Name this disk for your application to reference.
        'azure-file-storage' => [
            // The driver provided by this package.
            'driver' => 'azure-file-storage',

            // Account credentials.
            'storageAccount' => env('AZURE_FILE_STORAGE_ACCOUNT'),
            'storageAccessKey' => env('AZURE_FILE_STORAGE_ACCESS_KEY'),

            // The file share.
            // This driver supports one file share at a time (you cannot
            // copy or move files between shares natively).
            'fileShareName' => env('AZURE_FILE_STORAGE_SHARE_NAME'),

            // Optional settings
            'disableRecursiveDelete' => false,
            'driverOptions' => [],
            'root' => 'root/directory', // Without leading '/'
        ],
    ],
];

如果您想使用多个 Azure 文件存储共享,请在 disks 数组中创建具有每个共享适当设置的额外条目。

.env.example 中可以找到环境变量条目的示例列表。您可以将此内容添加到您的 .env 文件中,并在其中添加您的凭证。

使用

有关 Laravel 中文件系统的一般使用,请参阅 Laravel 文档。以下是一个简单的示例:

use Storage;

// List all files recursively from the root of the Azure share:

$files = Storage::disk('azure-file-storage')->listAll();
dump($files);

// Example:
// array:25 [▼
//   0 => "file1.txt"
//   1 => "foo/file2.txt"
//   2 => "foo/dee/dar/bigfile.txt"
// ]

测试

PHPunit 测试将在 .env 中基于 .env.example 中设置的准则针对任何文件存储共享进行工作。