How can the PHP code for downloading files be optimized to handle different file types more effectively?

When downloading files in PHP, it's important to handle different file types effectively by setting the correct headers for each file type. This ensures that the browser interprets the file correctly and prompts the user to download it instead of trying to display it in the browser. By using the `header()` function to set the appropriate content type header based on the file extension, we can optimize the code to handle different file types more effectively.

<?php
$file = 'example.pdf'; // File path
$filename = basename($file); // Get the filename

// Set the appropriate content type header based on the file extension
$ext = pathinfo($filename, PATHINFO_EXTENSION);
switch ($ext) {
    case 'pdf':
        header('Content-Type: application/pdf');
        break;
    case 'jpg':
        header('Content-Type: image/jpeg');
        break;
    case 'png':
        header('Content-Type: image/png');
        break;
    default:
        header('Content-Type: application/octet-stream');
}

// Set other headers
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Content-Length: ' . filesize($file));

// Output the file
readfile($file);
?>