_wp_check_existing_file_names()WP 5.3.1

Helper function to check if a file name could match an existing image sub-size file name.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Return

true|false. True if the tested file name could match an existing file, false otherwise.

Usage

_wp_check_existing_file_names( $filename, $files );
$filename(string) (required)
The file name to check.
$files(array) (required)
An array of existing files in the directory.

Changelog

Since 5.3.1 Introduced.

_wp_check_existing_file_names() code WP 6.5.2

function _wp_check_existing_file_names( $filename, $files ) {
	$fname = pathinfo( $filename, PATHINFO_FILENAME );
	$ext   = pathinfo( $filename, PATHINFO_EXTENSION );

	// Edge case, file names like `.ext`.
	if ( empty( $fname ) ) {
		return false;
	}

	if ( $ext ) {
		$ext = ".$ext";
	}

	$regex = '/^' . preg_quote( $fname ) . '-(?:\d+x\d+|scaled|rotated)' . preg_quote( $ext ) . '$/i';

	foreach ( $files as $file ) {
		if ( preg_match( $regex, $file ) ) {
			return true;
		}
	}

	return false;
}