lunes, 14 de abril de 2008

La extensión de un archivo (PHP)

Muchas veces, cuando desarrollamos alguna aplicación web con PHP se nos hace necesario subir archivos, lo cual requiere crear código seguro y que no deje cabos sueltos. Debemos controlar perfectamente que el usuario suba el archivo que corresponda y no algún bicharraco. Para ellos les dejo esta función que extráe la extensión de un archivo con lo que podremos controlar el tipo de datos que suben los usuarios a nuestro servidor.
Ocupé las funciones PHP strtolower() que nos cambiará a minúsculas el nombre del archivo en caso de que venga con mayúsculas; explode() para separar el nombre de la extensión tomando el punto como ente separarador y end() que , en caso de que el nombre del archivo esté compuesto por puntos (ejemplo: fotos.chile.jpg) siempre considere el último elemento del array generado.

<?
function tipoArchivo($elArchivo)
{
$laExtension=strtolower(end(explode('.',$elArchivo)));
return $laExtension;
}
?>

2 comentarios:

  1. Con tu archivo para upload que me prestaste la otra vez ya había usado esa función, pero no como función, sino la idea del explode + end.
    Antes yo usaba una mezcla de count que igual funcionaba, pero esta se ve más elegante. Creo que la robaré y la agregaré a mis funciones útiles :D

    ResponderEliminar
  2. Anónimo1:51 p.m.

    todavía más elegante:

    function dameExtension($archivo){
    return strlolower(end(explode('.'$archivo)));
    }

    ResponderEliminar