php访问共享的smb文件夹(受用户/密码保护)


php to access shared smb folder (user/password protected)

  1. WAMP服务器
  2. PHP fopen函数需要打开共享文件夹//server/folder1/file1.txt中的文件
  3. php具有SYSTEM用户权限,但共享文件夹仅对userX/password可见

如何在php脚本中打开这个远程文件?

您可以在路径中指定用户名和密码://user:password@server/folder1/file1.txt

我遇到了完全相同的问题,Sjoerd的答案在Windows上不适用。

我用PHP写了一个挂载函数,它基本上执行:

net use "''smbserver'share" /user:"myuser" "mypassword" /persistent:no

然后您可以正常访问''smbserver'share/path/file之类的路径。

这适用于文件包装器选项表中指定的所有函数:

  • 允许读取
  • 允许写入
  • 允许追加
  • 允许同时阅读和写作
  • 支持stat()
  • 支持取消链接()
  • 支持重命名()
  • 支持mkdir()
  • 支持rmdir()

这在远程共享上非常稳定,但当我将localhost与apache一起用作SYSTEM时,这对我来说不起作用。

不要忘记稍后通过execing:卸载

net use "''smbserver'share" /delete /yes

我希望这能有所帮助。