Utilizzo il seguente codice per leggere i file presenti in una directory... però nonostante il controllo inserito, mi stampa anche le directory presenti... come mai???

Codice PHP:
if (!(@$dp=opendir($dir))){
    ?><p align="center">[b]Impossibile procedere: si è verificato un errore durante la lettura dei file .[/b]</p><?
    
exit;
}
while (
$file=readdir($dp))
    
//if ($file != '.' && file != '..'){
    
if (!is_dir($file)){
        
//echo "
dir".$dir;
        //echo "
url_file".$url_file;
        
$url_file=urldecode($file);

        if (
$file!=".."){
            
$nomi_file[] = $file;//accodo nell'array tutti i nomi dei files
        }
}

closedir(
$dp);