Continuamos viendo en este vídeo cómo subir imágenes al servidor. En este vídeo vemos como limitar el tamaño de los archivos a subir y como crear filtros para subir un tipo de archivo determinado, en este caso imágenes.

Para más cursos, ejercicios y manuales visita: http://www.pildorasinformaticas.com

source

30 COMMENTS

  1. Profe tengo una consulta, como es mas eficiente la verificación del tipo de imagen? así como lo explica usted, lo cual ya se tiene a mano el imageType pero se debe conocer como muestra php cada tipo de archivo o con la función exif_imagetype y las constantes predefinidas en el lenguaje de la siguiente forma:

    if (exif_imagetype($imgName) == IMAGETYPE_JPEG || exif_imagetype($imgName) == IMAGETYPE_GIFF || exif_imagetype($imgName) == IMAGETYPE_PNG)

    desde ya muchísimas gracias.

  2. Excelente curso, felicidades. Todo muy claro y preciso.

    Una duda : ¿porqué cuando intento subir una imagen mayor a 1MB y luego imprimo el tamaño con echo $_FILES['imagen']['size']; Me sale que el tamaño es 0?

    Saludos desde Colombia.

  3. Hola muy buen video
    Me ocurrio un error y no se porque sea, cuando subo una imagen a la carpeta de apache me daña la imagen y me dice que windows no reconoce ese archivo.
    Quisiera saber porque pasa esto y si me podrias decir alguna solicion.

  4. Buen curso "PildorasInformaticas", pero tengo un problema.
    Cuando guardo mi imagen en mi disco C/ de mi LOCALHOST la imagen me dice que no tengo permisos para ver, esa seria mi pregunta, ¿Como puedo darle permisos con PHP para poder visualizar los documentos?

  5. Intente insertar la imagen en la BBD con PDO pero no lo logre, vi por ahi otro video y unicamente lo encontre con mysql, se puede con PDO??

  6. Hola buen aporte.
    Pero yo tengo una pregunta, Yo guardo las imagenes en bytes en la base de datos, y utilice el codigo para restringir el tamaño, que solo se guarden las que sean menor a 1 M.
    De forma local si me dice que el tamaño de la imagen se excede y no guarda la imagen, pero cuando lo subo a un servidor y lo realizo ya desde una pagina no importa que pese 2 M sube la imagen.

    Alguien me puede ayudar y decirme porque pasa eso.

  7. oies juan de plano lo eh echo con pdo pero no mas no me muestra la imagen me podrias hechar la mano por favor…

    <?php
    $nombre_img = $_FILES['imagen']['name'];
    $tipo_imagen= $_FILES['imagen']['type'];
    $tam_imagen = $_FILES['imagen']['size'];

    if($tam_imagen<=4000000){

    if($tipo_imagen=="image/jpeg" || $tipo_imagen=="image/jpg" || $tipo_imagen=="image/png" || $tipo_imagen=="image/gif"){

    $carpeta = $_SERVER['DOCUMENT_ROOT'] . 'htdocs';

    move_uploaded_file($_FILES['imagen']['tmp_name'],$carpeta.$nombre_img);

    }else{
    echo "solo se pueden subir imagenes jpge,jpg,pnj,gif";
    }
    }else{
    echo "el tamaño de la imagen es demaciado grande";
    }

    try{
    $conexion = new PDO("mysql:host=localhost; dbname=consultas","root","");
    $conexion->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    $conexion->exec("SET CHARACTER SET UTF8");

    $consulta = "UPDATE PRODUCTOS SET FOTO='$nombre_img' WHERE CÓDIGOARTÍCULO='AR01'";

    $resultado = $conexion->prepare($consulta);
    $resultado->execute(array());
    echo "EXITO";

    }catch(Exception $ex){
    die("error: " . $ex->getMessage());
    echo "linea de error" . $ex->getLine();
    }
    ?>

    <?php

    try{

    $conexion = new PDO("mysql:host=localhost; dbname=consultas","root","");
    $conexion->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    $conexion->exec("SET CHARACTER SET UTF8");

    $consulta = "SELECT FOTO FROM PRODUCTOS WHERE CÓDIGOARTÍCULO='AR01'";

    $resultado = $conexion->prepare($consulta);
    $resultado->execute(array());

    while($fila = $resultado->fetch(PDO::FETCH_ASSOC)){
    $foto = $fila['FOTO'];
    }

    }catch(Exception $ex){
    die("error :" .$ex->getMessage());
    echo "linea de error " . $ex->getLine();
    }
    ?>

    <div><img src="/htdocs/<?php echo $foto; ?>" alt="LONO" width="25%"></div>

  8. AMIGO -BUENOS DIAS–ADMIRABLE SU EXPOSICION EXCELENTE DICCION Y MUCHA DIDACTICA, PEROOOO HAY UN DETALLE DE FORMA QUE SE REFIERE A QUE LOS CODIGOS NO PUEDEN APRECIARSE MUY BIEN POR CUANTO SE VEN BORROSOS-SI PUDIERAN MEJORAR ESO SERIA EXTRAORDINARIAMENTE FABULOSO—GRACIAS MUY AGRADECIDO — CON UD. SI HE APRENDIDO– FELICITACIONES– neriorta@hotmail.com

  9. Hola, primero de todo agradecerte el tiempo que inviertes en tus videos.. He tenido un problema con el type de $_FILES. Ya que hay varios formatos que no reconoce bien y da problemas. Incluso usando imagenes de los formatos elegidos hay imagenes que no reconoce bien. He leido que no es fiable al 100% y que seria mejor usar Fileinfo. ¿Te ha pasado? En ningun caso este comentario es una critica, sino una duda. Un saludo y gracias otra vez por tus aportes 😛

  10. hola espero y alguien me ayude yo tengo un problema en este caso subo el archivo y me aparece en la carpeta del servidor pero no en la base de datos,, ya lo cheque detalladamente pero nada

  11. por si puede ayudar… en el if en lugar de poner varios || yo lo he hecho así:

    if ( $tamañoImagen<=pow(10,6) && !strcmp ( ( explode( "/", $tipoImagen ) )[0],"image")){
    así me coje cualquier tipo de imagen, usando explode podemos separar el strings en partes según un criterio en nuestro caso usando la "/".

    A puntito de terminar el curso!!! ha sido genial!
    gracias profe!

LEAVE A REPLY

Please enter your comment!
Please enter your name here