What are the best practices for combining md5 hashes and file names for unique file identification in PHP?

When combining md5 hashes and file names for unique file identification in PHP, it is important to ensure that the resulting identifier is unique and collision-resistant. One common approach is to concatenate the md5 hash of the file contents with the file name to create a unique identifier. This ensures that even files with the same name will have different identifiers based on their contents.

// Function to generate a unique identifier for a file based on its contents and name
function generateFileIdentifier($fileName, $fileContents) {
    $md5Hash = md5($fileContents);
    $identifier = $md5Hash . '_' . $fileName;
    
    return $identifier;
}

// Example of generating a unique file identifier
$fileName = 'example.txt';
$fileContents = file_get_contents($fileName);
$fileIdentifier = generateFileIdentifier($fileName, $fileContents);

echo $fileIdentifier;