generalmente io uso un file che mi fa da gestore di download.

in pratica gli passo un parametro in get e poi lui si occupa di gestire il dowload.

es. :

<a href="download.php?file=pippo>scarica</a>

e download.php
Codice PHP:
<?
if (isset($_GET['file']) && !empty($_GET['file']))
  {
  switch (
$_GET['file'])
    {
    case 
"pippo":
    
//file pippo
    
break;
    case 
"pluto":
    
//file pluto
    
break;
    case 
"topolino":
    
//file topolino
    
break;
    default:
    echo 
"file non trovato";
    die();
    }
  }

?>
questa potrebbe essere una soluzione