academe / laravel-azure-file-storage-driver
Laravel 的 Azure 文件存储文件系统驱动
1.0.1
2022-06-07 12:43 UTC
Requires
- php: >=8.1
- consilience/flysystem-azure-file-storage: ^1.0
Requires (Dev)
- orchestra/testbench: ~3.3|~3.4|~3.5|~3.6
- phpunit/phpunit: ^6.0|^7.0|^9.0
README
适用于 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 中设置的准则针对任何文件存储共享进行工作。