Использование md5_file(); иногда не возвращает md5?

<?php
include_once('booter/login/includes/db.php');

$query="SELECT * FROM shells";
$result=mysql_query($query);
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){

$hash = @md5_file($row['url']);
echo $hash . "<br>";
    }
?>

Выше мой код. Обычно он работает безупречно на большинстве URL, но время от времени он просто пропускает md5 в строке, как если бы он не получал его, даже если файл там есть.

Я не могу понять, почему. Есть идеи?

РЕДАКТИРОВАТЬ: при удалении "@" он возвращает это:

[function.md5-file]: failed to open stream: No such file or directory

1 ответ

Решение

@ перед md5_file подавляет любые предупреждения / ошибки, которые могут возникнуть. Удаление @ позволит ошибки от md5_hash будет отображаться и позволит вам увидеть, почему он иногда терпит неудачу.


No such file or directory просто означает, что нет файла с именем, в котором был произведен поиск. Возможно, вы захотите проверить URL-адреса, которые вызывают эти предупреждения; возможно они ссылаются на файл, который был переименован или перемещен.

Другие вопросы по тегам