Ho provato anche questa altra soluzione:

Codice PHP:
if ($_GET['action'] == 'download') {
        
$mimetype 'application/octet-stream';
        
$disposition 'attachment';
    }
    
$path $_SERVER['DOCUMENT_ROOT'] . "/file_download/" $filename;
    if (
file_exists($path)) {
        
header('Content-Transfer-Encoding: binary');
        
header('Last-Modified: ' gmdate('D, d M Y H:i:s'filemtime($path)) . ' GMT');
        
header('Accept-Ranges: bytes');
        
header('Content-Length: ' filesize($path));
        
header('Content-Encoding: none');
        
header("Content-Type: $mimetype");
        
header("Content-Disposition: $disposition; filename=" $filename);
        
readfile($path);
    } else {
        echo 
"File not found on server";
    } 
ma mi da lo stesso errore (file bianco senza icona ). Nel database leggo nomefile.JPG ma sul desktop leggo nomefile. Se rinomino nomefile in nomefile.jpg l'os mi riconosce il file e mi permette di visualizzarlo con l'utility di sistema.