同一网络中设备的磁盘空间

时间:2013-10-22 13:16:27

标签: php path protocols diskspace

所以我要做的核心事情是从同一网络上的另一台PC获取磁盘空间。

我使用PHP函数disk_total_space()。我正在使用连接字符串\\192.168.0.1\c$

所以总的来说我会:

disk_total_space('\\\\192.168.0.1\\c$');

但是我对这个连接字符串有一些疑问:

  1. 这个'url'用什么协议连接?
  2. 为什么在驱动程序结束时需要$?
  3. 现在我还需要为我的连接字符串提供用户名和密码。但是我不知道如何将它与我拥有的连接字符串融合在一起。 我尝试使用ftp协议和https协议提供用户名和密码,但似乎都没有。

    https:\\\\username:password@\\\\192.168.0.1\\c$
    ftp:\\\\username:password@\\\\192.168.0.1\\c$
    

    正如你可能会注意到我只是真正了解这些协议的新手,所以我希望有人能像我7岁那样向我解释这个。或任何信息表示赞赏!

1 个答案:

答案 0 :(得分:3)

我对php一无所知,但似乎回答这个问题你不需要PHP知识......希望这会有所帮助:

1。这个'url'用什么协议连接?

这称为UNC Path。查看wiki: Path (computing)

的更多详情

引用:

A UNC path describes the location of a volume, directory, or file. The format for a UNC path is \\server\volume\directory\file and is not case-sensitive.

2。为什么在驱动程序结束时需要$?

$代表隐藏的份额,请参阅Microsoft Knowledge Base

中的更多内容

3。对于您的上一个问题,“在UNC路径中传递UNC用户名和密码”

SuperUser上有类似问题的答案。

引用@grawity's answer

的回答

在Windows上,无法将凭据放入UNC路径中。您必须使用net userunas /netonly或Windows提出要求时提供这些内容。 (如果您有一些编程技能,可以使用CredWrite()将SMB密码存储为“域凭据”,这相当于检查Windows中的“记住密码”框。)

在Linux上,它取决于程序。

  • GNOME的Gvfs接受user@host语法,但似乎完全忽略了密码。 (但是,您可以事先将它存储在GNOME Keyring中。)

  • smbclient使用与Windows相同的UNC语法;但是,它有一个--authentication-file选项,可以从中读取凭据。

  • 上述两个程序都使用 libsmbclient ,并且可以使用Kerberos身份验证而不是密码:运行kinit user@YOUR.DOMAIN并使用smbclient -k //host/share。这比密码验证更安全。

请注意,不建议将密码放入URI中,并且您不应该依赖它支持