jerodev / flysystem-v3-smb-adapter
Flysystem v3 的 SMB 适配器
1.2.0
2023-06-19 16:54 UTC
Requires
- php: >=8.0.2
- icewind/smb: ^3.5
- league/flysystem: ^3.0
Requires (Dev)
- illuminate/filesystem: ^9.0
- illuminate/support: ^9.0
- jerodev/code-styles: dev-master
- league/flysystem-adapter-test-utilities: ^3.0
- orchestra/testbench: ^7.7
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^9.5
Suggests
- ext-smbclient: Required to use this package
This package is auto-updated.
Last update: 2024-09-19 20:13:29 UTC
README
此包允许您通过 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, ], ],