我试图从Windows连接到Linux上使用PHP的Samba共享文件夹

我有Windows 7上的PHP,我试图连接到Linux上的Samba共享文件夹,但没有成功。

我正在使用这个代码:

// Map the drive system('net use Y: "\\\\linuxIPaddress\Shared_folder password /user:username /persistent:no>nul 2>&1'); // Open the directory $dir = "Y:/TMP"; if (is_dir($dir)) { if (opendir($dir)) { print "able to access directory tree."; } } else { print "not access tree."; } 

Solutions Collecting From Web of "我试图从Windows连接到Linux上使用PHP的Samba共享文件夹"

我发现使用此代码连接的解决方案

 $sharename = '\\\\LinuxIPAddress\Shared_folder'; $username = 'username'; $password = 'password'; $letter = 'Z:'; if (!is_dir($letter . "/TMP")) { $WshNetwork = new COM("WScript.Network"); $WshNetwork->MapNetworkDrive($letter, $sharename, FALSE, $username, $password); } 

并正在完善

这更多的是评论,但我还没有足够的评论,所以:@DanielMiovski的解决方案也为我工作。 一旦我把它映射到脚本中,我就可以操纵我想要的文件。 但是,我遇到了一个问题。 在Windows 10上,一旦脚本结束,驱动器不会从我的网络驱动器中删除。 我无法通过资源管理器手动断开连接,也没有命令提示符,因为:“网络连接不存在”。 我在互联网上搜索了很多解决方案,最终让它消失了,但是为了简单起见,我们付出了很多努力。 我仍然想在我的脚本中使用这个代码,因为这是唯一实际上为我工作的php smb解决方案。 我找到了解决这个问题的办法。 使用@Daniel Miovski上面的脚本,但最后加上这一行:

 system('net use Z: /delete /y'); 

这将在脚本完成操作后立即删除网络驱动器。 自那以后,我一直没有这种麻烦。

只是以为我会张贴这个以防其他人遇到同样的问题。