Ragazzi ho un problema , ho creato una pag in php che mi da' l'elenco dei file contenuti in una directory , e li linka ... il codice è questo

Codice PHP:
<?php
if ($dir = @opendir("midi")) {
  while ((
$file readdir($dir)) !== false) { 
    echo 
"<a href=midi/$file>$file</a>"."
"
;
  }  
  
closedir($dir);
}
?>
funziona correttamente solo che il problema avviene quando il nome dei file è staccato (es: "midi midi.mid") , cioè visualizza il nome , ma non lo fa scaricare perchè nel link in alto prende solo "midi" e non "midi%20midi.mid" per esempio...

come posso risolvere