Cómo saber la extensión de un archivo en PHP

Tenemos distintas formas de saber la extensión de un archivo. Si por ejemplo estamos leyendo la estructura de archivos que tiene nuestro hosting, servidor dedicado o servidor virtual desde PHP con la función chdir recogeremos los archivos que tiene el directorio. Para saber que extensión tienen basta con utilizar estas simples lineas:

$archivo="imagen.png";

//Explode parte en trozos el string cada vez que encuentre el signo de puntuación "."

$valores = explode(".", $archivo);

//Formato valores

/*

$valores[0] = "imagen";

$valores[1] = "png";
Para coger la extensión debemos retornar el ultimo elemento del array $valores.

*/

$extension = $valores[count($valores)-1];

Funciones utilizadas:

count: Cuenta el número de elementos en un array. Enlace

explode: Divide en trozos una cadena cada vez que encuentre la cadena que pongamos. Enlace

1 Respuesta

  1. Idea buena de inicio, hasta que te encuentres con nombres de archivos como hola.dos.jpg, o un comprimido.tar.gz donde ya no corresponde el valor de la posición del array, amenos que obligues al usuario a utilizar un formato obligado donde no existan puntos antes de la extensión funciona, si no recomiendo usar la función

    $info = new SplFileInfo(‘foo.txt’);
    var_dump($info->getExtension());