Extraer extensión de archivo en PHP

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *