jerodev/flysystem-v3-smb-adapter

Flysystem v3 的 SMB 适配器

1.2.0 2023-06-19 16:54 UTC

This package is auto-updated.

Last update: 2024-09-19 20:13:29 UTC


README

run-tests Latest Stable Version

此包允许您通过 Flysystem v3 与 SMB 共享进行通信。

安装

composer require jerodev/flysystem-v3-smb-adapter

用法

该适配器使用 Icewind SMB 包与共享进行通信。
要使用 flysystem 适配器,您必须传递一个 \Icewind\SMB\IShare 实例。以下是如何使用 Icewind SMB 提供的工厂创建共享实例的示例。

$server = (new \Icewind\SMB\ServerFactory())->createServer(
    $config->host,
    new \Icewind\SMB\BasicAuth(
        $config->user,
        'test',
        $config->password
    )
);
$share = $server->getShare($config->share);

return new \Jerodev\Flysystem\Smb\SmbAdapter($share, '');

Laravel 文件系统

该包还附带了一个 Laravel 服务提供者,它会自动为您注册一个驱动。当您安装此包时,Laravel 会为您发现此提供者。您只需要在 config/filesystems.php 中配置共享,如下面的示例所示。

'disks' => [
    'smb_share' => [
        'driver' => 'smb',
        'workgroup' => 'WORKGROUP',
        'host' => \env('SMB_HOST', '127.0.0.1'),
        'path' => \env('SMB_PATH', 'test'),
        'username' => \env('SMB_USERNAME', ''),
        'password' => \env('SMB_PASSWORD', ''),
        
        // Optional Icewind SMB options
        'smb_version_min' => \Icewind\SMB\IOptions::PROTOCOL_SMB2,
        'smb_version_max' => \Icewind\SMB\IOptions::PROTOCOL_SMB2_24,
        'timeout' => 20,
    ],
],