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

Canales RSS

Lo más fresco

  1. Reemplazar selección con JavaScript Nuevo
  2. ¿Esta IP pertenece a esta red? Modificado
  3. Mozilla Firefox Modificado

Sugerencias del chef

Lo más visitado

  1. Dar formato a un número
  2. Fecha y hora
  3. Campo autonumérico
  4. Rotar logs en Windows
  5. Reiniciar Apache con cuidado (graceful restart)
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
 * o cadena vacía si no se ha encontrado
 */

function extension($nombre, $anadir_punto=TRUE){ // v2005-10-29
    $punto='\.';
    $no_punto='[^\.\/\\\\]';

    if(preg_match('/' . $no_punto . '+' . $punto . '+(' . $no_punto . '+)$/', $nombre, $coincidencias)){
        return ($anadir_punto ? '.' : '' ) . $coincidencias[1];
    }else{
        return '';
    }
}

Diferencias con pathinfo()

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

Esta página ha sido impresa el miércoles 8 de febrero de 2012 (01:42:12 +0100) 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-2011 by Álvaro G. Vicario (alvaro.es) • Burgos (España) • borrame.com