必须从网络存储访问一些媒体文件才能通过 SMB 和通用 Internet 文件系统访问。 PHP 网站需要对远程存储 block 进行文件操作。您可以建议一些替代方法,或者如果您有任何想法或可以帮助:
- 配置 SAMBA/SMB/CIFS
- SMB/SAMBA/CIFS 客户端配置
- 通过 PHP 访问文件系统 - 研究表明 PHP 在这方面提供了 smb4php 类,但不支持如何在完整设置中使用。
最佳答案
您是否可以将 SMB 共享直接挂载到您的主机操作系统上取决于您的主机操作系统。您在谈论 SAMBA 表明它可能是某种 Unix/POSIX/Linux - 但哪个?
大多数 Linux 版本都支持 smbfs 文件系统类型(通常 mount 的手册页会列出支持的类型)。
mount -t smbfs -o username=Bill,password=billions //msbox/netshare /some/local/dir
(请注意,smbfs vfs 是由编写 Samba 的同一个人开发的 - 但它是一个单独的产品)。
Samba 附带一个 cli 客户端 smbclient。要使用它获取文件,您只需要使用正确的参数执行它(请注意,如果您不在命令行上指定所有必需的参数,smbclient 将进入交互模式)。有关参数及其格式的详细信息,请参阅为 smbclient 安装的手册页。
research shows that PHP provides smb4php classes
不,它没有。我假设你在谈论 this - 这不是由维护 PHP 的人提供的。它只是 smbclient 程序的包装器。根据我在网站上的评论(请参阅支持论坛),是的,文档不是很好 - 但我已经添加了有关连接字符串格式的详细信息。
请注明您的来源。
关于PHP SAMBA/SMB/CIFS 和 smb4php 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3768333/