Testar se é Arquivo ou Diretório no PHP

<?php
print '<br>';
// TESTAR SE ARQUIVO É UM ARQUIVO COMUM OU SE É DIRETÓRIO
$filename = 'teste2.php';



$filename2 = 'c:\windows';

if (is_file($filename)) {
   echo "O arquivo $filename é comum";
}else{
  echo "O arquivo $filename não é um arquivo comum";
}
print '<br>';

if (is_file($filename2)){
   echo "O arquivo $filename2 é comum";
}else{
  echo "O arquivo $filename2 não é um arquivo comum";
}

print '<br>';

if (is_dir($filename2)){
   echo "$filename2 é um diretório";
}else{
  echo "$filename2 não é um diretório";
}
?>

Outras Funções

is_link($diretorio) 
readlink($dir_link) // retorna o path completo do link
bool symlink ( string $destino, string $linkorigem ) // Cria um link simbólico