entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

dimensionar imagenes al guardar en mysql

Hola a todos ,, quien pueda darme una mano le agradezco,,
esto como verán me guarda la ruta en mysql y las imágenes en carpeta "imágenes",,hasta aquí todo bien,,
lo que trato de hacer es guardar las imágenes en una medida previamente especificada,,(ejemplo: 400*250)
acá les paso a mostrar lo que tengo,,(que funciona bien por cierto..por si a alguien le sirve.),,pero no logro incorporar código para hacer que me resize las imágenes antes de que se guarden en carpeta,,,

$dir_destino = 'imagenes/';
$imagen_subida = $dir_destino . basename($_FILES['imagen']['name']);
$imagen_subida2 = $dir_destino . basename($_FILES['imagen2']['name']);
$imagen_subida3 = $dir_destino . basename($_FILES['imagen3']['name']);

$id_usuario=$_POST['id_usuario'];
$username=$_POST['username'];
$inmueble=$_POST['inmueble'];
$pro=$_POST['pro'];
$city=$_POST['city'];
$calle_prop=$_POST['calle_prop'];
$altura_prop=$_POST['altura_prop'];
$metros=$_POST['metros'];
$cuartos=$_POST['cuartos'];
$banios=$_POST['banios'];
$precio=$_POST['precio'];
$moneda=$_POST['moneda'];
$cuerpo=$_POST['cuerpo'];
$empresa=$_POST['empresa'];
    if(is_uploaded_file($_FILES['imagen']['tmp_name']))
            if(is_uploaded_file($_FILES['imagen2']['tmp_name']))
           if(is_uploaded_file($_FILES['imagen3']['tmp_name'])){

if (move_uploaded_file($_FILES['imagen']['tmp_name'], $imagen_subida))
if (move_uploaded_file($_FILES['imagen2']['tmp_name'], $imagen_subida2))
if (move_uploaded_file($_FILES['imagen3']['tmp_name'], $imagen_subida3))

 {

            $link = mysql_connect('localhost', $mi_usuario, $mi_password)
                or die('Uyy!!!: ' . mysql_error());
            mysql_select_db('el_blog') or die('No pudo selecionar la BD');

            $query="insert into posts(id_usuario, username, inmueble, pro, city, calle_prop, altura_prop, metros, cuartos, banios, precio, moneda, cuerpo, imagen, imagen2, imagen3, empresa) value ('$id_usuario', '$username', '$inmueble', '$pro', '$city', '$calle_prop', '$altura_prop', '$metros', '$cuartos', '$banios', '$precio', '$moneda', '$cuerpo', '$imagen_subida', '$imagen_subida2','$imagen_subida3','$empresa')";

            mysql_query($query) or die('Error al procesar consulta: ' . mysql_error());

            echo "El archivo fue cargado exitosamente.\n";

            echo "<p>$id_usuario</p>";
            echo "<p>$username</p>";
                  echo "<p>$inmueble</p>";
                  echo "<p>$pro</p>";
                  echo "<p>$city</p>";
                  echo "<p>$calle_prop</p>";
                  echo "<p>$altura_prop</p>";
                  echo "<p>$metros</p>";
                  echo "<p>$cuartos</p>";
                  echo "<p>$banios</p>";
                  echo "<p>$precio</p>";
                  echo "<p>$moneda</p>";
                  echo "<p>$cuerpo</p>";
                  echo "<p>$empresa</p>";
    echo "<img src='imagenes/". basename($imagen_subida) ."' />";
             echo "<img src='imagenes/". basename($imagen_subida2) ."' />";
    echo "<img src='imagenes/". basename($imagen_subida3) ."' />";
        } else {
            echo "Posible ataque de carga de archivos!\n";
        }
    }else{
        echo "Posible ataque del archivo subido: ";
        echo "nombre del archivo '". $_FILES['archivo_usuario']['tmp_name'] . "'.";
    }

?>

2 Respuestas

1voto

bl4z3r Puntos16850

Hola, @albertocharly. Para hacer lo que tu quieres, tiene que cambiar el tamaño de la imagen una vez que haces la verificación de si ha subido la imagen:

if(is_uploaded_file($_FILES['imagen']['tmp_name']))

Posterior a eso, usas esta función que esta documentada en el manual de PHP para re-dimensionar tu imagen: http://php.net/manual/es/function.imagecopyresized.php

Y luego la puedes mover al directorio correspondiente.

Advierto que necesitas tenes instalada la extensión de GD para PHP para poder hacer uso de esta función.

0voto

albertocharly Puntos240

Gracias por la pronta respuesta bl4z3r, la voy a tratar de poner en practica y despues comento como quedo.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta