What are best practices for ensuring that a file is downloaded securely in PHP, especially when using meta refresh tags?

When using meta refresh tags to trigger a file download in PHP, it is important to ensure that the download is done securely to prevent any potential security risks. One best practice is to use a combination of server-side validation, proper headers, and file path sanitization to prevent any unauthorized access to files.

<?php
// Validate the file path to prevent directory traversal attacks
$filePath = '/path/to/secure/file.pdf';

// Check if the file exists and is readable
if (file_exists($filePath) && is_readable($filePath)) {
    // Set appropriate headers for the file download
    header('Content-Type: application/pdf');
    header('Content-Disposition: attachment; filename="file.pdf"');
    header('Content-Length: ' . filesize($filePath));

    // Output the file content
    readfile($filePath);
    exit;
} else {
    // Handle error if file is not found or not readable
    echo 'File not found or inaccessible';
}
?>