.
и ..
являются символическими ссылками на текущий и родительский каталог и присутствуют в большинстве файловых систем, поэтому, если вы не хотите, чтобы они отображались в списке dir в вашем коде, попробуйте следующее:
$skipped = array('.', '..');
while (($file = readdir($dh)) !== false) {
if(in_array($file, $skipped)) continue;
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
closedir($dh);