Хеш файла

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

Получить хеш файла можно через функцию md5_file() или sha1_file().

md5_file('archive.zip');  // 3ea082a567f08b05754065d4cb9aa4a7
sha1_file('archive.zip'); // 63114cdb309a3d4c680fa86bbf6ad1719f1630a0

Теперь можно проверять корректность файла через код ниже:

$file_hash = '3ea082a567f08b05754065d4cb9aa4a7';

if ($file_hash == md5_file('archive.zip')) {
    // Файл корректен
}

Если поменять название файла, то хеш это не затронет. Но если заменить хотя бы один символ в исходном коде, то хеш файла станет другим.

Если указанного файла не будет, то функция md5_file() вернёт false, а также выведет предупреждение «Warning: failed to open stream: No such file or directory».