hash_file()

hash_file() — Generate a hash value using the contents of a given file.

Built-in function of PHP 8.5. The manual lists it as available in PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.

Signature

hash_file(string $algo, string $filename, bool $binary = false, array $options = []): string|false

Parameters

ParameterTypeWhat it takes
$algostringName of selected hashing algorithm (e.g. "sha256"). For a list of supported algorithms see hash_algos().
$filenamestringURL describing location of file to be hashed; Supports fopen() wrappers.
$binaryboolWhen set to true, outputs raw binary data. false outputs lowercase hexits.
$optionsarrayAn array of options for the various hashing algorithms. Currently, only the "seed" parameter is supported by the MurmurHash variants.

Return value

Returns a string containing the calculated message digest as lowercase hexits unless binary is set to true in which case the raw binary representation of the message digest is returned, or false on failure.

Example

A runnable snippet:

/* Create a file to calculate hash of */ file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.'); echo hash_file('sha256', 'example.txt');

Output:

68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483

Changelog

VersionChange
8.1.0The options parameter has been added.

See also

hash_init(), hash_hmac_file()

All PHP 8.5 built-in functions

Reference card built from the PHP manual page hash_file() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.