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

时间:2012-01-17 11:25:34

标签: php apache wamp samba smb

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

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

我遇到了完全相同的问题,Sjoerd的回答在Windows上对我不起作用。

我在PHP中编写了一个安装函数,基本上是exec s:

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

然后您可以正常访问\\smbserver\share/path/file等路径。

这适用于options table for file wrappers中指定的所有函数:

  • 允许阅读
  • 允许写作
  • 允许附加
  • 允许同时阅读和写作
  • 支持stat()
  • 支持unlink()
  • 支持rename()
  • 支持mkdir()
  • 支持rmdir()

这对远程共享非常稳定,但是当我使用带有apache的localhost作为SYSTEM时,这对我不起作用。

不要忘记随后通过exec

卸载
net use "\\smbserver\share" /delete /yes

我希望这会有所帮助。