Foros del Web » Programando para Internet » PHP »

cuanto de memoria necesito para gd con imagenes de 10Mb

Estas en el tema de cuanto de memoria necesito para gd con imagenes de 10Mb en el foro de PHP en Foros del Web. Holoa chicos pues bueno tengo un problema grande !! hace poco me compre una camara muy potente pero pues las fotos las toma muy pesadas ...
  #1 (permalink)  
Antiguo 12/07/2013, 21:41
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 4 meses
Puntos: 2
cuanto de memoria necesito para gd con imagenes de 10Mb

Holoa chicos pues bueno tengo un problema grande !!

hace poco me compre una camara muy potente pero pues las fotos las toma muy pesadas tonces yo tengo una funcion que cambia el tamaño utilzando la libreria gd de php el problema es que veo que esas imagenes no me las cambia de tamaño debe ser por la memoria.}

Yo altero los valores de la memoria con
Código PHP:
Ver original
  1. ini_set("memory_limit","512M");// lo deje asi si podia con esos tamaños

si me cambia el tamaño pero solo cuando es una imagen. Sin embargo cuando subo mas ahi si tuquitqui lulu. NO hace nada :/ no se que hacer chicos si alguien sabe que no sea cambiar el tamaño de la imagen con un editor de fotos!!! le agradeceria

Por cierto no tengo acceso al php.ini
  #2 (permalink)  
Antiguo 13/07/2013, 00:11
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

Supongo que el problema no es por la memoria, sino por que en el servidor y/o php hay un límite para subir archivos; dependiendo de cada configuración puede ser 4mb, tal vez menos o tal vez más.

Si en el envío del formulario superas ese límite, Apache automáticamente cancela la subida de archivos y es como si no se hubieran enviado.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 14/07/2013, 13:18
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

pero como te digo con una sola imagen de 10MB si me funciona pero con solo una no con dos o mas :/ lo que estoy pensando es hacer una arrary en javascript que recorrar la cantidad de archivos subidos y que de uno en uno los valla enviando en vez de todos a mismo tiempo!! :D creo que esa puede ser la solucion :D.

Asi cada vez que envie uno y en javascript el estado de envio sea de 4 (que se envio completamente) envie el siguiente y asi hasta que termine con todos los archivos seleccionados

les comentare como me va haber :D
  #4 (permalink)  
Antiguo 14/07/2013, 13:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

Una imagen de 10mb o 10mpx

P.D. Me gustaría ver esa solución en Javascript.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 14/07/2013, 21:53
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

un algoritmo para que saber cual es el ultimo de un ciclo foreach?
  #6 (permalink)  
Antiguo 14/07/2013, 22:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

Código PHP:
Ver original
  1. $foo = array('candy', 'bar');
  2. $ultimo = false;
  3. foreach($foo as $var) {
  4.      $ultimo = $var;
  5. }
  6. if($ultimo !== false) {
  7.       // Ya tienes el último elemento aquí
  8. }

Aunque, sería más fácil con end()
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 14/07/2013, 22:08
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Cita:
Iniciado por sonickseven Ver Mensaje
un algoritmo para que saber cual es el ultimo de un ciclo foreach?
Esta pregunta ya es recurrente... y se soluciona mas eficientemente de otras formas... dependiendo de si el array es o no asociativo:

Código PHP:
<?php 
$foo 
= array('candy''foo','bar');
$cadena null;

for (
$i=0;$i<count($foo)-1;$i++)
    
$cadena .= $foo[$i].' ,';

// Luego procesas el ultimo por separado:
$cadena .= $foo[$i];

echo 
$cadena;  // salida: candy ,foo ,bar

OJO: lo que te dicen esta BIEN... pero insisto mucho en no hacer IFs de mas y sobre todo dentro de un bucle, pues son tantos como ciclados

El chiste esta en no incluir el ultimo elemento en la iteracion, aqui mediante count($foo)-1, en vez de andar preguntando todo el tiempo: "es el ulttimo ?" .. "es el ulttimo ?" .. "es el ulttimo ?"

Cada vez veo menos..... en fin...... quieres saber si es el ultimo elemento para procesarlo diferente ? ahi tienes una solucion.. la otra que es para mi no tan buena es preguntar dentro del foreach cada ciclado si es el ultimo.

@Triby: para mi lo que preguntas es "entro al foreach ?" y pues eso se resuelve sabiendo si tiene 0 o mas elementos, si no tiene elementos, pues no entra y ya. Creeria que lo que se busca es un procesamiento diferente del ultimo elemento.
__________________
Salu2!

Última edición por Triby; 14/07/2013 a las 23:07
  #8 (permalink)  
Antiguo 14/07/2013, 23:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

Cita:
Iniciado por Italico76
@Triby: para mi lo que preguntas es "entro al foreach ?" y pues eso se resuelve sabiendo si tiene 0 o mas elementos, si no tiene elementos, pues no entra y ya. Creeria que lo que se busca es un procesamiento diferente del ultimo elemento.
Dentro del foreach, aparte de asignar $ultimo, realiza todas las actividades que requiera, una vez que sale, si $ultimo no es igual a false, es porque hay algo para procesar y ya tiene ahí mismo lo que pueda necesitar.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 14/07/2013, 23:24
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

Si... entendi tu logica amigo..... y realmente no sabemos que quiere hacer exactamete, solo que tu ya procesastes el ultimo para cuando llega al IF

En el ejemplo que puse de concatenar con comas ... si tu lo haces como planteas, te toca eliminar la ultima coma pues ya te pasastes.

Lo otro que decia, es que en definitiva estas verificando si entra a o no al blucle


PD1: lo primero fue pensar que hacias un chequeo dentro del foreach por eso mismo porque como sea debe evitarse procesar el ultimo a mi entender. Caso extremo: que fueran datos a borrar en la DB y quieres no borrar el ultimo sino editarlo, pues para cuando termino de ciclar chau ultimo registro. El caso es un absurdo, lo se... es solo para mostrar que la solucion general es no procesar el ultimo para poder procesarlo distinto.

PD2: si el array esta vacio... explota el foreach asi como 'ta
__________________
Salu2!

Última edición por Italico76; 15/07/2013 a las 00:23
  #10 (permalink)  
Antiguo 15/07/2013, 01:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

No hago chequeo, ni concateno usando comas, sólo sugerí guardar el último elemento en una variable y si el arreglo está vació, esa variable seguirá en false y no pasa nada.

Ahora, la cosa está en que cierto, se entrar al foreach para usar esa técnica, precisamente por eso mencioné lo del end(), pero no sabemos si sonickseven va a usar un array u objeto y no lo he probado con objetos... sería cuestión de que él pruebe y nos diga.
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 16/07/2013, 13:26
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

Gracias chicos pero no me funciono mi teoria (solo teoria) ya les explico por que:

primero cree un foraech en JAVASCRIPT que recorria uno por uno los elemento de un INPUT FILE y despues por cada ciclo enviara una paticion ajax al archivo que recive el archivo. Pues funciono para mi a bn . Tonces hize unas pruebas y me di de cuenta que en el primer ciclo enviaba asi:

/*********

ciclo 1:

hola.rar

ciclo 2:

hola.rar
mundo.rar

ciclo 3

hola.rar
mundo.rar
rapido.zip


/**********

si se dan cuenta cada vez que va recorriendo el array del INPUT FILE pues si hace los envios dependiendo de la cantidad de archivos que el usuario cargue en los input pero asi no me sirve por que por cada envio el peso del envio va incrementando. Entonces no me sirve el algoritmo del ultimo ciclo.
Pues para este problema voy a averiguarme mejor por que esto que quiero ya tiene que ver mas con JAVASCRIPT pero es un problema que a mas de uno que usa PHP le servira. Aqui tengo un archivo que hace lo que quiero o casi como yo lo quiero, lo pueden descargar para examinarlo uds.

Código link:
Ver original

Por cierto cuando encuentre la respuesta se las dare tranquilos :D
  #12 (permalink)  
Antiguo 18/07/2013, 19:25
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: cuanto de memoria necesito para gd con imagenes de 10Mb

casi losto chicos pues bueno la solucion no era tan dificil despues de tanto leer y estuadiar el metodo append(); de javascript hize lo siguiente
Código Javascript:
Ver original
  1. function subirFotos(input){
  2.     if(window.FormData){
  3.         formdata = new FormData();
  4.     }
  5.     var i = 0, len = input.files.length, img, reader, file;
  6.     for( ; i < len; i++){
  7.         envios=len;
  8.         file = input.files[i];
  9.         if(!!file.type.match(/image.*/)){
  10.             if(formdata)
  11.                 //Usamos el método append, cuyos parámetros son:
  12.                     //name : El nombre del campo
  13.                     //value: El valor del campo (puede ser de tipo Blob, File e incluso string)
  14.                 formdata.append('fl_addbook', file);
  15.                 //console.log(file);
  16.                 //formdata='cod='+i+'&'+formdata;
  17.                 envio3(formdata);
  18.                 if(i===(len-1)){
  19.                     console.log('es igual');
  20.                     ajax('../Uploads/subirfotos.php', {rd_permiss:$('#book > article > form > article > article > input').val()});
  21.                     $('#abracadabra')[0].reset();
  22.                 }
  23.         }
  24.     }
  25. }
  26.  
  27. function prigress(e){
  28.     var p=$('#book > article > form > div > div');
  29.     p.html(parseInt(Math.round((e.loaded / e.total)*100))+"%");
  30.     p.css({'width':parseInt((e.loaded / e.total)*100)+"%"});
  31. }
  32.  
  33. function envio3(datos){
  34.     var oReq=new XMLHttpRequest();
  35.     oReq.upload.addEventListener('progress', prigress, false);
  36.     oReq.open('POST', '../Uploads/subirfotos.php', true);
  37.     oReq.onreadystatechange = function(){ if(this.readyState===4){
  38.        
  39.     }else{
  40.     }
  41.     }
  42.     oReq.send(datos);
  43. }

entonces ahi si manda por cada archivo una peticion post con el archivo :D lo malo es que no he podido conseguir la forma de que el archivo se envie uno por uno en vez casi todos a la vez :/ seguire buscando hasta encontrar la respuesta

Etiquetas: imagenes, memoria
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 01:34.