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

Canales RSS

Lo más fresco

  1. Bookmarklets Nuevo
  2. Recetario básico para CakePHP/2 Nuevo
  3. Certificado auto-firmado Nuevo

Sugerencias del chef

Lo más visitado

  1. Fecha y hora
  2. Dar formato a un número
  3. Reiniciar secuencia
  4. Vaciar un esquema
  5. Certificado auto-firmado
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 sábado 23 de septiembre de 2017 (02:22:04 +0200) desde http://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.

borrame.com es el sitio anteriormente conocido como bits.demogracia.com (no confundir con Demogracia, que sólo pasaba por ahí).

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