On this page
File Validators
Hash
Laminas\Validator\File\Hash allows you to validate if a given file's hashed
contents matches the supplied hash(es) and algorithm.
Supported Options
The following set of options are supported:
hash: String hash or array of hashes against which to test.algorithm: String hashing algorithm to use; defaults tocrc32
Basic Usage
use Laminas\Validator\File\Hash;
// Does file have the given hash?
$validator = new Hash([
'hash' => '3b3652f',
'algorithm' => 'crc32',
]);
// Or, check file against multiple hashes
$validator = new Hash([
'hash' => ['3b3652f', 'e612b69'],
'algorithm' => 'crc32',
]);
// Perform validation with file path
if ($validator->isValid('./myfile.txt')) {
// file is valid
}
The algorithm option must be an algorithm that is available on your installation of PHP. You can find out which algorithms are supported by calling hash_algos().
When supplying a list of hashes to match, the validator will return true if any of the hashes match the given file.
Accepted Uploaded File Types
This validator accepts and validates 3 types of argument:
- A string that represents a path to an existing files
- An array that represents an uploaded file as per PHP's
$_FILESsuperglobal - A PSR-7
UploadedFileInterfaceinstance