io ho usato questo codice per un mio script e funziona... e' da adattare.
codice:
if ($_GET["t"]=="p")
{
 header("Cache-control: private");
 header("Expires: Sun, 20 Oct 2002 05:00:00 GMT");                  
 header("Last-Modified: " . gmdate("D, d M Y H:i ") . " GMT");    
 header("Content-type: application/".filetype($pathaggiornamenti)."\""); 
 header("Content-Transfer-Encoding: binary"); 
 header("Content-Disposition:  attachment; filename=".basename($pathaggiornamenti)."\""); 
 header("Content-length: ".filesize($pathaggiornamenti));
 @readfile($pathaggiornamenti);
}