Foros del Web » Programando para Internet » PHP »

Problema con array en upload

Estas en el tema de Problema con array en upload en el foro de PHP en Foros del Web. Buenas. No se donde tengo el error. Subo varias imagenes, las explodeo para separarlas, hago count al array del explode para obtener la cantidad de ...
  #1 (permalink)  
Antiguo 17/03/2011, 17:51
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 9 meses
Puntos: 1
Problema con array en upload

Buenas.

No se donde tengo el error.
Subo varias imagenes, las explodeo para separarlas, hago count al array del explode para obtener la cantidad de imagenes. Entonces como veran, quiero mostrar las imagenes de la forma $img[$count] pero no muestra nada.
Hasta $count = count($img) funciona correctamente, pero no funciona $img[$cant], por que?

Gracias.

Código PHP:


    $url 
.= "url de la imagen-";
    
    
    
$img explode('-'$url, -1);
    
    
    
$cantcount($img);

    
    echo 
$img[$cant]; 
  #2 (permalink)  
Antiguo 17/03/2011, 18:46
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Problema con array en upload

Hola

echale un vistazo a count en el manual de php

http://es.php.net/manual/es/function.count.php

un saludo
  #3 (permalink)  
Antiguo 17/03/2011, 19:06
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema con array en upload

Tenes razon.
Recien caigo en el error. Eso me pasa por hacer las cosas apresuradas, es q ya me agoto este tema.
Gracias.
  #4 (permalink)  
Antiguo 17/03/2011, 19:55
 
Fecha de Ingreso: marzo-2011
Mensajes: 30
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: Problema con array en upload

$url .= "url de la imagen-";


$img = explode('-', $url); // Tienes un Array de X elementos

$cant= count($img); // Te muestra la cantidad de elementos supon 5

echo $img[$cant];

en esta ultima linea estas pidiendo que te muestre $img[5] pues $cant es 5 tomando en cuenta que los arreglos inician desde 0 $img[5] no tiene nada!!

Lo que necesitas hacer es un ciclo y mostrar imagen por imagen...

for($i=0;$i<=$cant;$i++){
echo $img[$i];
}

eso debe funcionar...
  #5 (permalink)  
Antiguo 17/03/2011, 20:06
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 6 meses
Puntos: 12
Respuesta: Problema con array en upload

no es necesario hacer un count en ese caso ppLu1Gui.

puedes hacer esto

Código PHP:
Ver original
  1. $url .= "url de la imagen-";
  2. $imgs = explode('-',$url);
  3.  
  4. foreach($imgs as $img){
  5.      echo $img;
  6. }
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #6 (permalink)  
Antiguo 17/03/2011, 20:22
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema con array en upload

ppLu1Gui y xalupeao, les comento q ya intente usando foreach y for pero el resultado sigue siendo el mismo.
Utiliando for, no me imprime nada y utiliando foreach me muestra solo la primer imagen.

Ahora armo un ejemplo en una pagina para q lo puedan apreciar mejor.
  #7 (permalink)  
Antiguo 17/03/2011, 20:31
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Problema con array en upload

Hola

todo contando con que en el array $imga haya mas de una imagen, que no parece el caso
no se entiende muy bien lo que quieres hacer, si haces un explode con el separador -
lo que hace es guardar en un array todas las partes de la cadena que consigue separar con -
pero si en la url solo hay una imagen..........

Un saludo
  #8 (permalink)  
Antiguo 17/03/2011, 20:49
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema con array en upload

Claro, lo explico un poco mejor.
Tengo un formulario en el q el usuario puede subir imagenes.
El form funciona bien con las imagenes y todo.
El problema q se me presento ahora es q quiero reducir las imagenes xancho X x alto.
Por ejemplo, suben una imagen de 640x480 y yo la quiero reducir a 400 x 300, por dar un ejemplo.
Ok, el tema es q quiero verificar el tamaño de todas las imagenes q el usuario envie pero solo verifica una, q es la primera q manda.

Comence a probar con los ejemplos q me dijeron ustedes y al no tener resultados, hice este post.

Aclaro q las respuestas q me dieron ppLu1Gui y xalupeao fue lo primero q hice y no tuve resultados y no entiendo por q, yo lo hice con el mismo razonamiento q dijeron ellos.

Entonces el problema esta en q no puedo verificar todas las imagenes q el usuario envia.
  #9 (permalink)  
Antiguo 17/03/2011, 20:57
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Problema con array en upload

creo que seria bueno que colocaras tu codigo para poder revisar bien la validación que haces y como la haces, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #10 (permalink)  
Antiguo 17/03/2011, 21:35
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema con array en upload

Este es el codigo.


http://paste2.org/p/1309143


A partir de la linea 145 empieza el problema q planteo. A partir de esa linea es donde quiero verificar el tamaño de las imagenes, ya q en la linea anterior termina la subioda de los archivos al directorio.

Aca esta un ejemplo editado (sin otros campos): http://cu000409.ferozo.com/ejemplos/...orm.php?form=3


Si envian mas de una imagen, veran q lo muestro todo en una sola cadena.

Las partes comentadas son la validacion del form q las quite por el momento para q no tire error y poder ver el problema.

Última edición por reborn; 17/03/2011 a las 21:41
  #11 (permalink)  
Antiguo 17/03/2011, 21:49
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema con array en upload

Partiendo de eso, mi idea es la siguiente:

Una vez subidas las imagenes al directorio, compruebo su tamaño, si son mayores a x ancho y alto, las redimensiono, las guardo otra vez en el directorio y elimino la original para q no ocupe espacio.

Ok, la parte de redimensionar no es problema para mi, pero se me presento el problema verificar el tamaño de todas las imagenes.

Hice varias pruebas de la siguiente forma:

al guardar las imagenes como una candena sin espacios ni nada, las separo con explode:

Código PHP:
Ver original
  1. $url .= "http://cu000409.ferozo.com/ejemplos/foto/$nuevo_nom-";
  2.  
  3. $img = explode('-', $url, -1);

eso me devuelve el array con todas las imagenes:

Código PHP:
Ver original
  1. $img[0]...[n]

...y aca es donde se me presenta el problema para verificar todas las imagenes porq tengo q pasar todas las imagenes por GetImageSize().
Probe con for y foreach exactamenge como dijeron mas arriba y no funciono, solo me verifica la primer imagen.

Última edición por reborn; 17/03/2011 a las 21:58
  #12 (permalink)  
Antiguo 18/03/2011, 15:36
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema con array en upload

De mientras creo q voy a poner los imput por separado, cada uno con un name diferente. A cada uno lo paso por una funcion para redimensionar. Es la solucion provisoria q se me ocurre.

Etiquetas: upload
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 23:16.