Commenta tutto il codice a partire da
if (!file_exists($file))
e subito prima di questo (quindi come effettiva ultima istruzione dello script) metti
echo $file;
verifica che il percorso, relativamente alla cartella in cui si trova lo script, sia corretto.
Altra prova che puoi fare è di mettere il file da scaricare nella stessa cartella dello script file-download.php, così puoi non specificare $dir ed usare solo il nome del file, se funziona hai un problema con il percorso fino al file, altrimenti c'è qualche altra cosa che non va.