Obtener la extension de un archivo subido con php

En este post voy a explicar como comprobar las extensiones de una imagen con una simple función en php podremos sacar la extensión de un archivo, ya sea una imagen o cualquier tipo de documento, subido mediante un formulario en php.
Primero algo de teoría.
Para acceder a las propiedades del archivo o imagen php nos brinda el array $_FILES con las siguientes propiedades, en donde archivo es el nombre del campo con el cual se envió la imagen desde el formulario:

* $_FILES[‘archivo’][‘size’]: tamaño en bytes del archivo o imagen recibido
* $_FILES[‘archivo’][‘type’]: tipo mime del archivo, por ejemplo image/gif
* $_FILES[‘archivo’][‘name’]: nombre original del archivo
* $_FILES[‘archivo’][‘tmp_name’]: nombre del archivo temporal que se utiliza para almacenar en el servidor el archivo recibido

Ejemplo de un array

Array
(
    [file1] => Array
        (
            [name] => MyFile.txt
            [type] => text/plain 
            [tmp_name] => /tmp/php/php1h4j1o 
            [error] => 0
            [size] => 123   (el tamaño en bytes)
        )
)

Ahora conociendo un poquito más como funciona el array $_FILES podremos sacar muy fácilmente la extensión del archivo subido y por ejemplo comprobar que es una imagen .jpg, .jpeg, .png o .gif para nuestra galería de fotos o lo que sea. No permitiendo subir archivos .txt, .exe o cualquier otro archivo.


$this->obtenerExtensionFichero($_FILES['archivo']['name']);

function obtenerExtensionFichero($str) 
{
        return end(explode(".", $str));
}

Tags de búsquedas:

archivo subido,como saber la extension de un archivo con php,extensiones de archivos php,$_files extension,como saber la extencion de un archivo php,php $_files guardar en array,php como extraer jpg gif png,php $_files extension,php como saber la extension de un archivo,php como verificar si un archivo es extension pdf o jpg,php comprobar extension,php detectar archivo php y cambiar extension,php extencion de una imagen,php extension nombre archivo leer,php leer propiedades fotografia

Noticias relacionadas »

12 comentarios en Obtener la extension de un archivo subido con php

  1. / Responder

    ese codigo esta incompleto,,, esta dentro del contexto de POO , deberias explicar eso… no sirve de nada ese fragmento de codigo de por si solo, sino esta dentro del contexto de la POO..
    Saludos !!

  2. victor
    / Responder

    $archivo=$_FILES[‘uploadedfile’][‘name’];
    $explode= explode(‘.’, $archivo);
    $extension=array_pop($explode);
    echo $extension;

  3. / Responder

    No es lo mejor para sacar el tipo de archivo pero si sirve mucho para conseguir la extension de los archivos.

    Gracias.

  4. carlos
    / Responder

    Muchas gracias amigo, tu información me ha sido muy útil.

  5. jay2370
    / Responder

    mejor usa esto:

    $type = $_FILES[‘archivo’][‘type’];
    $ext = explode($type);
    $extension = end($ext);

    echo “$extension”;

  6. sandra
    / Responder

    como puedo hacerle si mi imagen esta almacenada en una variable pero no solo hay una sino varias y al momento de ponerle una marca de agua en todos los codigos me pide el nombre de la imagen no c que hacer para saber el nombre de la imagen con la que deseo trabajar???

  7. Silent Hero
    / Responder

    Mmmm a decir verdad, el código si sirve. Hice pruebas con un archivo llamado chat.chat (Es un .zip, su nombre completo es chat.chat.zip) y me devuelve “zip” y no devuelve “chat” como dice en un comentario.
    Gracias por el aporte 😉

  8. Alejandro
    / Responder

    Super genial(:

  9. elitepep
    / Responder

    listo muy listo si señor gracias pedro.

  10. caca
    / Responder

    ahahhaahaha este sujeto solo uso un explode despues del punto ._.
    se ve que no saves nada de programacion facilmente tu codigo es bulnerable

    si subo una imagen con nombre caca y le pongo caca.jpg pero en realidad se trata de otro archivo con nombre caca.jpg estas frito

    NO sirve para comprovar que se trata de una imagen

    • Pedro Ventura
      / Responder

      La función solo sirve para sacar la extensión de un archivo subido, imagen o lo que sea. No estoy explicando nada más en el artículo que no sea como obtener la extensión del fichero subido.

      Claro esta que si tu estas subiendo un archivo puta.php.jpg va a pensar que es una imagen, pero ya es cuestion de cada uno procesar el siguiente paso que es la subida y como se guarda el archivo subido.

      Yo no explico como subirlo y sobretodo como guardarlo, que aqui es donde te has pasado de listo. Y ahora te voy a explicar que es lo que hago. Lo más normal cuando tienes un formulario para que suban una imagen, es que la imagen se guarde en temporal. A partir de la imagen o supuesta imagen que te han subido, crear una imagen nueva, y está aqui el truco para dar seguridad a la aplicacion. Mediante las funciones imagecreatefromgif(), imagecreatefrompng() o imagecreatefromjpeg() y el resto de funciones relacionadas para crear imágenes se crea una imagen nueva a partir de la imagen subida y borrando la que el usuario ha subido. Así el código es seguro. Pero claro yo no he hablado nada de esto, simplemente mi artículo dice como sacar la extensión.

      • Julio
        / Responder

        No estas sacando la extension, estas sacando los ultimos 3 caracteres del nombre de un archivo. No la extension. Es necesario explicar bien para los que estan iniciando no se confundan.

Deja un comentario

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

Invertir en criptomonedas: »

 

Cómo comprar bitcoin

Invertir y comprar Bitcoin y otras altcoins es más fácil de lo que crees.

1) Si sólo quieres comprar Bitcoin, Ethereum o Litecoin como inversión, tu opción es Coinbase

2) Si quieres probar con otras criptomonedas tu opción es Binance

3) Cualquier duda escríbeme con total libertad al formulario de contacto para resolver dudas: https://www.pedroventura.com/contacto/

¡Comparte este artículo! »

  • A.BTC (4 semanas)
    Canal Serio de Señales para Trading con Criptomonedas Enlace: https://t.me/tradingcriptomonedas
  • Margart (1 mes)
    La verdad que me ha gustado mucho el post, de…
  • ¡Hablan de nosotros! (2 meses)
    […] 04/02/2018          => Lee el artículo aquí…
  • Emiluz (2 meses)
    Camaradas... tengo documento de word con formulas nativas de word...…
  • Francisco (2 meses)
    Buen dia, agradeceria el envio del archivo. Saludos.
  • yaplog.jp (2 meses)
    I am genuinely glad to glance at this webpage posts…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
Google Voice Search para Android

Se me han puesto los dientes muy largos cuando he visto el vídeo sobre lo nuevo de Voice search para...

Cerrar