What steps can be taken to ensure the integrity of downloaded files in PHP?

When downloading files in PHP, it is important to ensure the integrity of the downloaded files to prevent any security risks. One way to do this is by calculating and verifying the checksum of the downloaded file. This can be done by generating a checksum before the file is downloaded and comparing it with the checksum of the downloaded file.

// Generate checksum before downloading file
$checksum_before = md5_file('file_to_download.txt');

// Download file
$remote_file = 'http://example.com/file_to_download.txt';
$local_file = 'downloaded_file.txt';
file_put_contents($local_file, file_get_contents($remote_file));

// Calculate checksum of downloaded file
$checksum_after = md5_file($local_file);

// Compare checksums
if($checksum_before === $checksum_after) {
    echo 'File integrity verified.';
} else {
    echo 'File integrity compromised.';
}