Foros del Web » Programando para Internet » PHP »

Resize de imagen y luego subirla

Estas en el tema de Resize de imagen y luego subirla en el foro de PHP en Foros del Web. Buenos días todos los phpenses!! Luego de mucho tiempo de inactividad en este foro (si, por cuestiones universitarias, los habia cambiado por el de Python!), ...
  #1 (permalink)  
Antiguo 28/05/2009, 11:22
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Resize de imagen y luego subirla

Buenos días todos los phpenses!!

Luego de mucho tiempo de inactividad en este foro (si, por cuestiones universitarias, los habia cambiado por el de Python!), vuelvo al ruedo con, una pregunra, creeran la habran escuchado mil veces, pero sin embargo, no logro dar con el codigo correcto.

Mi idea es tener un opload de imagenes de, digamos, 10 imagenes por vez. Es por eso que para que el servidor no se me vaya al demonio, debo, primero hacerle un resize (en este momento no se me viene a la mente la palabra correcta en español, pues no es recortar, ya que lo que quiero seria escalarla) así el tamaño es menor y por ende, su peso tambien lo es.

He encontrado muchos scripts que lo que hacen es subir los archivos y, luego, hacer el resize. Esto a mi no me sirve, pues si me suben 10 imagenes de 3 mb cada uno (el maximo permitido es 5), primero, que tardaran un monton, segundo el servidor explotará (bueno, tampoco para tanto) y tercero, no me parece amigable para el usuario.

La idea seria conseguir un script como Flickr o Facebook que estoy seguro que primero achican las imagenes al tamaño correcto, y luego las suben: no creo que gasten ancho de banda en subir fotos que luego achicaran!

Ahora: alguien ha dado con este codigo? Se puede realizar con PHP solamente? O habría que utilizar alguna otra tecnologia como JS o Ajax?? Lo ideal seria no utilizar nada, por si el usuario lo tiene desabilitado, pero bueno, tampoco puedo pedir tanto! En el caso del facebook, tienes un cargador de imagenes "lindo", que supongo debe ser el de AJAX, y otro "feito", que debe ser el que yo quiero...


Desde ya, que quien pueda ayudarme con este codigo, ya sea dando el mismo codigo, dando una pista hacia donde debo encarar o que links deberia revisar, le estaré totalmente agradecido.


Muchas gracias a todos!!!


Pablo.
  #2 (permalink)  
Antiguo 28/05/2009, 11:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Resize de imagen y luego subirla

Lo que he visto hasta ahora es que las fotos se cargan al servidor y alli las disminuye, yo no creo que facebook disminuya la foto antes de cargarla. Yo creo que la carga y luego la disminuye y luego borra la original del servidor.
  #3 (permalink)  
Antiguo 28/05/2009, 11:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Resize de imagen y luego subirla

locoxchacho, estas parcialmente equivocado... o confundido, quizás...

desafortunadamente no se puede redimensionar una imagen antes de subirla, osea... tu como usuario claro que puedes, y luego la subes... ¿porque no??

pero me refiero con programación del lado del cliente, no es posible....

y si, el upload "bonito" usa algo llamado FancyUpload que solo evita que veas como se va cargando la pagina hasta que se suben todas las imágenes....

(quizá eso te crea la falsa ilusión de que se manipulan previamente las imágenes, pero no)

y el upload "feo" es el que todos conocemos, y por el cual podemos notar el proceso de carga...


en resumen, es necesario subir las imágenes antes al servidor para redimensionarlas... no al revés!

y de veras, creeme, ni Hi5 ni Facebook, ni nada "achica" las imágenes antes de subirlas... al menos no, por medio de un formulario de upload....


suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 28/05/2009, 11:47
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Resize de imagen y luego subirla

es decir, que si yo quiero subir 10 imagenes de 3 megas lo que debos hacer es subirlas y luego, una vez en mi servidor, ahi si hacer el resize??

crei que tenia sentido lo que decia... pues a mi se me hace como que es consumir ancho de banda innecesaria, ya que luego disminuiremos casi al 10% del tamaño de la imagen (en mi caso, comparado con una foto de 3mb que generlamente son de casi 2000px de ancho). Pero si dices que no existe tal cosa, entonces, te creo!! jajaja...

El problema es que yo tengo dos servidores: uno "bueno", y uno "malo". En el malo, cada vez que intento subir fotos de mas de 1mb, se cuelga y me da error, y todo el proceso termina abruptamente. Me comunice con el host, y me dijero que teoricamente todo deberia andar bien, ya que el max para el upload es de 5 mb.

Con el bueno, nunca me paso esto, todos los archivos que intente subir, lo hizo. Pero queria tener en cuenta esta posibilidad para que no ocurra ningun error, por mas que hasta el dia de hoy no me habia tirado ninguno todavia.

Pero bueno, entonces lo hare como todo el resto: subire y luego achicare. Ahora, el link que me pasaste, lo que mostrar un "cargando" mientras se suben las fotos, en vez de mostrar la pagina actual y la barra de progreso??... Sino, eso seria genial de hacer, si conocen algun metodo, desde ya estaria agradecido.-


Y una vez mas, muchas gracias por su ayuda.. Estaba casi convencido de que era lo mas apropiado hacerlo de la forma que decia, pero si no se puede, je!

saludos!

Pablo

pd: y ahora, una opinion personal de uds: cual creen que deberia ser el numero de imagens por vez que deberia poder subir un usuario, para evitar sobrecarga?? 5? 10? Todas las opiniones seran escuchasda! :)
  #5 (permalink)  
Antiguo 28/05/2009, 11:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Resize de imagen y luego subirla

Mira esto

http://digitarald.de/project/fancyup...attach-a-file/
  #6 (permalink)  
Antiguo 28/05/2009, 17:46
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Resize de imagen y luego subirla

exactamente lo que necesitaba!!! Muchas gracias abimaelrc!!

Muy buen script y, no menos importante, muy elegante! Ahora el fin de semana veré como complementarlo con mi script anterior para subirlo a una basde de datos mediante PHP. Espero no sea mucho trabajo! :S Si saben de algun ejemplo, bienvenido!

Por último: me puse a pensar que pasa si un usuario quiere eliminar las imagenes? Actualmente lo hacia de a una por vez. Existe una posibilidad de eliminar seleccionando imagenes de la misma manera que las subimos?? Es decir, que se puedan eliminar más de una por vez???

Esto es lo ultimo que necesitaria para mi programa. Desde ya, que por el primer estoy muy agradecido! Espero que me puedan ayudar con el proximo, je!

Saludos foreros!

Pablo
  #7 (permalink)  
Antiguo 22/06/2009, 12:28
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Resize de imagen y luego subirla

Buenas tardes a todos!!

He tratado de probar lo que dicen y es realmente lo que andaba buscando. Pero en vez del funcyupload, utilizo este: http://digitarald.de/project/fancyup...se/photoqueue/, ya que se ajusta mejor a lo que preciso (una galeria de imagenes).

Ahora, el javascript funciona perfectamente, puedo buscar los x archivos que quiero subir en mi ordenador y se encolan en la lista. Ahora, cuando le doy a "upload files", no me lo sube, de hecho, la barra de progreso no arranca nunca, se queda siempre en 0%.

Espero que puedan ayudarme con esto, pues no se bien como funciona y quizas ustedes tengan alguna idea. Lo que hice yo fue modificar el codigo php que dan de ejemplo, segun mis necesidades, y modificar el action del formulario en el codigo XHTML...

El codigo PHP que utilizo es el siguiente:

Código PHP:
<?php require_once('../conexion.php'); ?>

<?

    $chivo
=$_FILES['Filedata']['name']; 
              
    
$id md5(uniqid(rand(), true)); 

    
$extsubstr(strrchr($chivo"."),1); 

    
$nvo$id"."$ext

    
$ruta"../admin/teoricos/archivos/"$nvo;  

    
move_uploaded_file($_FILES['Filedata']['tmp_name'], $ruta);


    
$nombre$_POST['nombre'];

    
$insert01 "INSERT INTO teoricos ( Nombre, Archivo ) VALUES ('$nombre', '$nvo')";
    
$Result1 mysql_query($insert01$final) or die(mysql_error());

    
    
    if (isset(
$_REQUEST['response']) && $_REQUEST['response'] == 'xml') {
    
// header('Content-type: text/xml');
 
    // Really dirty, use DOM and CDATA section!
    
echo '<response>';
    foreach (
$return as $key => $value) {
        echo 
"<$key><![CDATA[$value]]></$key>";
    }
    echo 
'</response>';
} else {
    
// header('Content-type: application/json');
 
    
echo json_encode($return);
}
?>
Desde ya, esero que puedan ayudarme con esto, muchas gracias!!

Pablo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:55.