wp_check_filetype( string $filename, string[]|null $mimes = null ): array

Retrieves the file type from the file name.

Description

You can optionally define the mime array, if needed.

Parameters

$filenamestringrequired
File name or path.
$mimesstring[]|nulloptional
Array of allowed mime types keyed by their file extension regex.
Defaults to the result of get_allowed_mime_types() .

Default:null

Return

array Values for the extension and mime type.
  • ext string|false
    File extension, or false if the file doesn’t match a mime type.
  • type string|false
    File mime type, or false if the file doesn’t match a mime type.

Source

function wp_check_filetype( $filename, $mimes = null ) {
	if ( empty( $mimes ) ) {
		$mimes = get_allowed_mime_types();
	}
	$type = false;
	$ext  = false;

	foreach ( $mimes as $ext_preg => $mime_match ) {
		$ext_preg = '!\.(' . $ext_preg . ')$!i';
		if ( preg_match( $ext_preg, $filename, $ext_matches ) ) {
			$type = $mime_match;
			$ext  = $ext_matches[1];
			break;
		}
	}

	return compact( 'ext', 'type' );
}

Changelog

VersionDescription
2.0.4Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.