Guarda, la seguente è una funzione che ho utilizzato tempo fa e che dovrebbe funzionare, non so se fa al caso tuo:

Codice PHP:
  function dload($filename)
  { 
    
header("Pragma: public");
    
header("Expires: 0");
    
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    
header("Content-Type: application/octet-stream");
    
header("Content-Disposition: attachment; filename=".$filename.";");
    
header("Content-Transfer-Encoding: binary");
  }