md5_file()不使用URL提取的远程内容

Rob*_*Rob 4 php mysql md5 md5-file

这是我的问题代码:

$theurl = trim($_POST['url']);
    $md5file = md5_file($theurl);
        if ($md5file != '96a0cec80eb773687ca28840ecc67ca1') { echo 'Hash doesn\'t match. Incorrect file. Reupload it and try again'; 
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,它甚至不输出错误.它就停止了.它加载了一点,然后就停止了.

在脚本的下面我再次实现它,它也在这里失败了:

while($row=mysql_fetch_array($execquery, MYSQL_ASSOC)){

$hash = @md5_file($row['url']);

$url = $row['url'];

mysql_query("UPDATE urls SET hash='" . $hash . "' WHERE url='" . $url . "'") or die("There was a problem: ".mysql_error());

        if ($hash != '96a0cec80eb773687ca28840ecc67ca1'){
            $status = 'down';
            }else{
            $status = 'up';
            }
mysql_query("UPDATE urls SET status='" . $status . "' WHERE url='" . $url . "'") or die("There was a problem: ".mysql_error());

            }
Run Code Online (Sandbox Code Playgroud)

并且它检查所有URL就好了,直到它到达一个IP而不是域,例如:

http://188.72.216.143/~waffle/udp.php

然后,脚本再次加载一段时间,然后停止.

如果您需要更多信息,请提供任何帮助.

编辑:它似乎适用于某些IP,但不适用于其他人

ici*_*cio 9

我认为md5_file这只适用于本地文件.文档肯定没有提到请求或任何东西.如果手动获取文件,则可以使用它md5来计算文档的哈希值.试着给它一个旋转.

<?php

    $contents = file_get_contents('http://stackoverflow.com');
    $md5file = md5($contents);

    echo $md5file;

?>
Run Code Online (Sandbox Code Playgroud)