Foros del Web » Programando para Internet » PHP »

Problema con vector para subir imagenes

Estas en el tema de Problema con vector para subir imagenes en el foro de PHP en Foros del Web. Amigos: Tengo un form donde hay un campo file llamado foto, es decir, name='foto' id='foto'. Tomo los datos que llegan del form luego de una ...
  #1 (permalink)  
Antiguo 12/11/2009, 15:42
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Problema con vector para subir imagenes

Amigos:

Tengo un form donde hay un campo file llamado foto, es decir, name='foto' id='foto'.

Tomo los datos que llegan del form luego de una validación de esta forma:

Código PHP:
$foto $_FILES['foto']; 
Y por medio de una clase redimensiono la imagen, la renombro, creo el tmb y subo todo al servidor.

Esto funciona correctamente.

La cuestión es que ahora necesito subir varias imagenes en vez de una.

En el form coloco en los campos file: name='foto[]' id='foto'.

Luego de la validación quiero tomar todos los datos de las imágenes del form, para utilizarlos con la clase... como podría ser??

Debería hacer un bucle para tomar los datos, no? pero como los tomo??

Gracias por su ayuda.

ARMANDOWEB.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]

Última edición por armandoweb; 12/11/2009 a las 15:47
  #2 (permalink)  
Antiguo 12/11/2009, 15:45
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Problema con vector para subir imagenes

Te llegaria un array con los valores en $HTTP_POST_FILES['foto']['name'][0] , $HTTP_POST_FILES['foto']['name'][1] , $HTTP_POST_FILES['foto']['name'][2]

Hazte un bucle con While
  #3 (permalink)  
Antiguo 12/11/2009, 15:59
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Problema con vector para subir imagenes

Hola:

Gracias por tu respuesta.

Vos sabes que intenté tomar los datos así, pero la clase no sube ni siquiera una imagen.

La clase que utilizo es php_class_upload de Collin Verot (verot.net) y es así:

Código PHP:
$foo = new Upload($_FILES['form_field']);
if (
$foo->uploaded) {
  
// save uploaded image with no changes
  
$foo->Process('/home/user/files/');
  if (
$foo->processed) {
    echo 
'original image copied';
  } else {
    echo 
'error : ' $foo->error;
  } 
Hago un bucle con while y reemplazo:

Código PHP:
$_FILES['form_field']) 
por

Código PHP:
$HTTP_POST_FILES['foto']['name'][$i
Es así??

Gracias nuevamente.

ARMANDOWEB.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #4 (permalink)  
Antiguo 12/11/2009, 16:11
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Problema con vector para subir imagenes

Probaste con $_FILES['foto']['name'][$i] ?

Sino aqui encontre un tutorial, fijate a ver si lo puedes acoplar a tu codigo

http://www.plus2net.com/php_tutorial...ile_upload.php
  #5 (permalink)  
Antiguo 12/11/2009, 16:21
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Problema con vector para subir imagenes

Hola:

Si, probe también de esa forma.

Para mi tiene que ver con la clase, pero ahí me supera bastante la cuestión.

Veré el tutorial.

Gracias de nuevo.

ARMANDOWEB.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #6 (permalink)  
Antiguo 13/11/2009, 04:40
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Problema con vector para subir imagenes

Hola:

Sigo con el problema.

Probe de hacer un echo así:

Código PHP:
$foto $_FILES['foto']['name'][0];
echo 
$foto
para ver si estaba recuperando bien el valor del array del form y me llega bien el nombre de la imagen y su extensión que ingrese en el primer campo file del form.

Lo que mas me llama la atencion que si yo a 1 campo file del form le doy un nombre, por ejemplo foto, sin ser un array, y recupero los datos así:

Código PHP:
$foto $_FILES['foto']; 
la clase si me hace todas las tareas que le asigno, pero recuperando los datos de la primer forma, no.

A que se puede deber esto?? Se les ocurre otra forma de hacer las cosas??

Desde ya gracias.

ARMANDOWEB.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #7 (permalink)  
Antiguo 13/11/2009, 12:50
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Problema con vector para subir imagenes

Amigos:

Estuve probando distintas formas de hacer lo mismo, pero llego siempre al mismo punto explicado en mi mensaje anterior y es la forma que tengo para tomar los datos de los campos file.

La clase si realiza su funcion si tomos los datos asi:

Código PHP:
$foto $_FILES['foto']; 
pero al meter los datos de los 5 campos file en un array debo tomarlos así

Código PHP:
$foto $_FILES['foto']['name']['0']; 
Y de esta forma la clase no hace nada!!

Le di vueltas a la cosa pero sigue todo igual!!

Alguna ayuda??

Gracias desde ya.

ARMANDOWEB.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #8 (permalink)  
Antiguo 13/11/2009, 12:56
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Problema con vector para subir imagenes

a mi la verdad tambien me supera como arreglar tu codigo, pero me interesaria tambien saber la solucion, a ver si alguien te ayuda

por cierto viendo un post por ahi de seguridad, asegurate de limitar las extensiones de los archivos que se suben o te pueden colar un exploit mu feo
  #9 (permalink)  
Antiguo 13/11/2009, 13:09
Avatar de EternalWitness  
Fecha de Ingreso: agosto-2005
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: Problema con vector para subir imagenes

Me imagino que es porque la clase espera un array en $foto, y de la segunda forma le estas pasando un string.

Puedes poner el codigo de la clase?
__________________
PRIMERA REGLA PARA ESCRIBIR POSTS:
piensa, piensa, escribe, piensa otra vez, envia
  #10 (permalink)  
Antiguo 13/11/2009, 13:31
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Problema con vector para subir imagenes

Hola:

Vun, tienes razon y lo he previsto, no te preocupes.

EternalWitness, es la clase de verot.net y poner toda la clase sería un poco complicado ya que es bastante extensa.

Mmmm, puede ser eso! de la primera forma: $foto = $_FILES['foto']; hago un hecho y me imprime "array" y de la segunda forma me imprime en pantalla el nombre de la imagen!!

Y ahora que puedo hacer???

ARMANDOWEB.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #11 (permalink)  
Antiguo 13/11/2009, 13:59
Avatar de EternalWitness  
Fecha de Ingreso: agosto-2005
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: Problema con vector para subir imagenes

Definitivamente es por eso y la manera de manejar uploads multiples esta en las FAQs de verot.net
__________________
PRIMERA REGLA PARA ESCRIBIR POSTS:
piensa, piensa, escribe, piensa otra vez, envia
  #12 (permalink)  
Antiguo 13/11/2009, 14:21
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 3 meses
Puntos: 7
Respuesta: Problema con vector para subir imagenes

Estimado...

Genial su aporte, muchisimas gracias!!!!

Saludos.

ARMANDOWEB.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
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 05:44.