Tienes también pathinfo()
http://www.php.net/pathinfo Código PHP:
<?php
$path_parts = pathinfo("/www/htdocs/index.html");
echo $path_parts["dirname"] . "\n";
echo $path_parts["basename"] . "\n";
echo $path_parts["extension"] . "\n";
?>
(ejemplo extraido de la documentación de php.net)
Como veras .. te entrega un array con datos sobre tu ruta/archivo ...
No sé como se comportará la función con nombres de archivo tipo:
nose.inc.php .. supongo que bien, es decir, te dará como extensión .php en este caso ...
Otro detalle más .. La mayoría de veces requerimos de la "extensión" de un archivo para detectar el tipo que es de archivo .. Esto lo podemos "asegurar" mejor viendo el formato MIME del archivo (que no depende de la extensión .. sino que viene definido en las própias cabeceras de cada archivo).
El formato MIME de un archivo se puede obtener de várias formas ..
Por ejemplo .. si el archivo va "subiendo" por HTTP en $_FILES['arhivo']['type'] tenemos dicho dato ...
Si el archivo está ya en nuestro servidor .. lo podemos ver con:
mime_content_type() (ojo que sólo está disponible desde PHP 4.3.0)
Un saludo,