_wp_check_existing_file_names( string $filename, array $files ): bool

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

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

Parameters

$filenamestringrequired
The file name to check.
$filesarrayrequired
An array of existing files in the directory.

Return

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

Source

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;
}

Changelog

VersionDescription
5.3.1Introduced.

User Contributed Notes

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