【问题标题】:PHP - Get the md5 of remote file?PHP - 获取远程文件的 md5?
【发布时间】:2011-01-19 05:33:41
【问题描述】:

是否可以在远程服务器上获取文件的 md5?如果有怎么办?

【问题讨论】:

    标签: php ftp md5


    【解决方案1】:

    md5_file("http://remotelocation/file")怎么样

    【讨论】:

    • 我不知道这个命令是否在 php 中有效然后 +1
    • 大多数文件系统函数都适用于流,包括 HTTP。
    • 请记住,这会将远程文件的全部内容传输到您的服务器。可能可行,也可能不可行。
    【解决方案2】:

    不下载,或者提供信息的远程服务器(网络服务,HTML页面等)是不可能的

    如果您的 PHP 安装配置为打开远程流,您可以使用 md5(file_get_contents("http://remotelocation/file")) 下载文件并计算 md5 哈希值。但这会下载完整的文件。

    【讨论】:

    • 这个我试过了,但不是实际文件的md5,而是实际输出的md5。
    • 如果您谈论的是服务器端脚本,例如.php 文件,您无法通过 HTTP 获取它的 MD5 标记,或者通常其中的源代码。如果可以的话,那将是一场安全灾难!您必须使用适当的连接来访问服务器上的源,例如。 [S]FTP。
    【解决方案3】:

    这取决于你的意思。有两种方式:

    1. 您连接到远程服务器并在那里计算哈希值(如 ssh 到服务器)。

    2. 获取(下载)文件并计算哈希值。

    显然,要计算文件的哈希值,您必须读取文件的内容。

    【讨论】:

    • 我不太擅长 ssh。您是否可以提供示例 1?就像.. $a = exec('一些shell东西来返回文件信息');
    • @John 如果您可以通过 ssh 访问其他服务器,那么将 PHP 文件放在那里以通过 GET 请求计算 MD5 可能会更容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多