qual'è l'ouput di
echo $file ?

qual'è l'ouput di

$fn ?

...prova a rimuovere qualsiasi riferimento a $dir (visto che tutti i file stanno nella stessa cartella)...