borrame.com - Colección particular de recortes de código y documentación para programación web

Canales RSS

Lo más fresco

  1. Enlaces sobre desarrollo web Modificado
  2. Cadena aleatoria en PHP Modificado
  3. Recortar texto Nuevo

Sugerencias del chef

Lo más visitado

  1. Canales RSS
  2. Formato condicional según el día de la semana
  3. Enlaces sobre desarrollo web
  4. Recortar texto
  5. Convertir de minutos a horas
Compartir esta página

Extensión de un nombre de archivo

Hallar la extensión de un archivo es de esas tareas triviales que tienen su truco.

Esta función devuelve la extensión de un nombre de archivo dado (que no tiene por qué existir), precediéndola del punto correspondiente (o no). No considera como extensión los archivos ocultos de Unix (p.ej. .htaccess) y descarta los directorios si $nombre es una ruta.

/** * Devuelve la extensión del nombre de archivo dado * * Diferencias de criterio con pathinfo($nombre, PATHINFO_EXTENSION): * - Considera que .foo no tiene extensión * - Considera foo.bar/ un directorio (por tanto sin extensión) * * @param string $nombre Nombre de archivo en UTF-8 * @param bool $anadir_punto Incluye el punto de la extensión (p.ej. ".png" en lugar de "png") * @return string|null * * @version 2014-01-17 */ function extension($nombre, $anadir_punto=true){ $punto = '\.'; $no_punto = '[^\./\\\\]'; if( preg_match('@' . $no_punto . '+' . $punto . '+(' . $no_punto . '+)$@u', $nombre, $coincidencias) ){ return ($anadir_punto ? '.' : '' ) . $coincidencias[1]; }else{ return null; } }

Diferencias con pathinfo()

Esta función devuelve resultados similares a pathinfo($nombre, PATHINFO_EXTENSION), con estas excepciones:

Historial

v2014-01-17
Si no encuentra una extensión ahora devuelve null en lugar de cadena vacía.
Documentación en formato phpdoc.
v2005-10-29
Primera versión.

Esta página ha sido impresa el miércoles 12 de agosto de 2026 (13:51:05 +0200) desde https://borrame.com/recortes/php/extension.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

Lorem ipsum dolor sit amet.

© 2005-2026 by Álvaro González (alvaro.es) • Burgos (España) • borrame.com