allora ..
questa è la pagina php:

codice:
<?php

session_start();

$esito = 'OK';
$err = '';
$pos_cursore = '';

// ========================================================================================

//-->  Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
$upload_dir = "caricati/";

$esito = 'OK';                                                                           
setcookie('esito', $esito);                                                              
                                                                                         
if (isset($_POST['file']))                                                               
   {$filename         = $_POST['file'];}                                                 
else                                                                                     
   {                                                                                     
    $filename         = '';                                                              
    $esito = 'KO' ;                                                                                                    
    $err = "File non valorizzato !!";  
    goto end;  	  	                                                                    
   }                                                                                     
                                                                                         
if (!is_file($filename))                                                                 
   {                                                                                     
    $esito = 'KO' ;                                                                                                    
    $err = "File non trovato !!";  
    goto end;  	  	                                                                                           
   }                                                                                     

// --> nome del file da salvare (si tolgono eventuali nomi delle cartelle del percorso)
//     (es. $filename = "backup/download/Ass_20120122_22-33-08.sql")

      
$len = filesize($filename);                                  // -> lunghezza file
$filename_nome = basename($filename);                        // -> nome del file
$ext = strtolower(substr(strrchr($filename_nome,"."),1));    // -> estensione

header('Content-Description: File Transfer');                                                 
header('Content-Type: application/octet-stream');                                             
header('Content-Disposition: attachment; filename='.basename($filename));           
header('Content-Transfer-Encoding: binary');                                                  
header('Expires: 0');                                                                       
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');                          
header('Pragma: public');                                                                     
header('Content-Length: ' . filesize($filename));                                     
ob_clean();                                                                                   
flush();                                                                                    
readfile($filename);                                                                  
unset($filename);                                                                     
exit();                                                                                     

// ========================================================================================

end:

if ($esito == 'OK')
   {$err = "Download eseguito correttamente !! ";     }   

?>
.. e questa è la pagina in rete dove provarla (scarica):

http://www.numeroperfetto.it/File_scrittura/