Introducción
PHP provee una manera fácil y rápida de obtener la extensión de un archivo. No necesitamos estar buscando el último índice del punto y cortando cadenas; no, nada de eso.
Veremos cómo obtener la extensión de un archivo, dada una cadena. Por ejemplo, si introducimos “canción.asd.asd.mp3” devolverá “mp3“.
La respuesta es pathinfo
Esta función no es tan conocida, pero existe y da información de una ruta. En su forma más básica puede servirnos para identificar la extensión de un archivo a partir de su nombre.
La función pathinfo recibe en primer lugar una cadena, la cual representa al nombre del archivo. Y como segundo argumento una constante indicando qué información queremos extraer.
En resumen, si queremos sacar la extensión hacemos esto:
<?php
$nombreDelArchivo = "foto.graduacion.png";
$extension = pathinfo($nombreDelArchivo, PATHINFO_EXTENSION);
echo $extension;
?>
La salida es: png
La función siempre devolverá resultados correctos sin importar si el archivo tiene puntos de más o no. Lo que no debemos cambiar es la constante PATHINFO_EXTENSION
.
Por cierto, si no encuentra extensión válida entonces devolverá una cadena o string vacío. Aparte de PATHINFO_EXTENSION podemos mandar estas constantes:
- PATHINFO_BASENAME
- PATHINFO_DIRNAME
- PATHINFO_FILENAME
En caso de no especificar ninguna constante, se devolverán todos los datos posibles.