verify_file_md5( string $filename, string $expected_md5 )
Calculates and compares the MD5 of a file to its expected value.
Parameters
- $filename
-
(Required) The filename to check the MD5 of.
- $expected_md5
-
(Required) The expected MD5 of the file, either a base64 encoded raw md5, or a hex-encoded md5
Return
(bool|object) WP_Error on failure, true on success, false when the MD5 format is unknown/unexpected
Source
File: wp-admin/includes/file.php
function verify_file_md5( $filename, $expected_md5 ) {
if ( 32 == strlen( $expected_md5 ) )
$expected_raw_md5 = pack( 'H*', $expected_md5 );
elseif ( 24 == strlen( $expected_md5 ) )
$expected_raw_md5 = base64_decode( $expected_md5 );
else
return false; // unknown format
$file_md5 = md5_file( $filename, true );
if ( $file_md5 === $expected_raw_md5 )
return true;
return new WP_Error( 'md5_mismatch', sprintf( __( 'The checksum of the file (%1$s) does not match the expected checksum value (%2$s).' ), bin2hex( $file_md5 ), bin2hex( $expected_raw_md5 ) ) );
}
Changelog
Version | Description |
---|---|
WP-3.7.0 | Introduced. |