Problemas subiendo más de una imagen

Hola Amigos,
Tengo un problema muy particular y no he podido encontrar la solución en algún lugar.
Estoy haciendo un desarrollo que incluye que el usuario final suba imágenes al servidor. Al subir la primer imagen no hay ningún problema, el proceso es exitoso y se puede visualizar la imagen correctamente; pero al subir la segunda imagen el sistema no lo hace.
Tengo el siguiente esquema.
Un archivo php que tiene el formulario desde donde se envía la imagen, cuando se hace clic en enviar se llama al mismo archivo php el cual evalúa si se inicio un proceso anterior de envío de imagen y de ser así realiza el proceso de verificación y copia al respectivo directorio, luego muestra la imagen y en ultimo lugar coloca de nuevo el formulario de envío de imágenes para subir la siguiente de ser el caso.
Cuando el usuario va a subir la segunda imagen se repite la operación pero el sistema no tiene información en la variable $_FILE o al menos eso creo porque no me muestra el nombre del archivo o el tipo o el tamaño.
¿Qué puedo hacer? Quedaría muy agradecido por una solución o explicación del problema

1 respuesta

Respuesta
1
Ante todo, no es $_FILE, sino $_FILES. Si ese no fuera el error, introduce en tu script php la siguiente instrucción para evaluar el contenido de $_FILES en cada momento:
print_r($_FILE)
Suerte...
Disculpa por favor la inexactitud. El código es el siguiente:
$nombre_archivo = $_FILES['userfile']['name'];
$tipo_archivo = $_FILES['userfile']['type'];
$tamano_archivo = $_FILES['userfile']['size'];
La pregunta va más enfocada así la variable global $_FILES[] pierde de alguna forma validez si es llamada luego de instanciar por segunda vez, es decir, en mi caso el algoritmo funciona a las mil maravillas en la primera subida, pero en la segunda no hace nada.
La metodología que estoy usando es la siguiente:
Tengo un ÚNICO archivo PHP que hace toda la tarea, es decir, cuando se carga por primera vez le muestra información al usuario entre la que se encuentran imágenes que están cargadas en algún directorio (y hasta aquí va muy bien) y en la parte final coloca el formulario para subir las imágenes (o en general cualquier archivo). Cuando subo la primer imagen el sistema se llama así mismo y efectúa el proceso de subir la imagen y luego muestra la información del usuario y la imagen subida (hasta aquí sigue TODO MARAVILLOSO) y por ultimo coloca de nuevo el formulario en el que el usuario podrá efectuar de nuevo la operación de subir otra imagen, pero cuando lo hace el sistema no hace nada y se me va por un condicional que tengo que valida tanto el tipo de documento como el tamaño indicando que no se cumple la condición, al imprimir la información de las variables mencionadas al inicio: $nombre_archivo, $tipo_archivo, $tamano_archivo éstas no tienen información, lo que se me ocurre es que de alguna forma el vector $_FILES no se inicializo de nuevo al enviarse la solicitud; pero no se como solucionar el problema. Espero poder haber aclarado mi inquietud, le quedo muy agradecido por la ayuda que pueda brindarme, respecto a la respuesta anterior no veo como print_r() pueda ayudarme. Gracias
Correcto, comprendido. El error está en el uso de un ÚNICO fichero php. La variable $_FILES es usada cuando, a través de un FORM "subes" un archivo, que es procesado en carpetas temporales, y que finalizada la ejecución del script, desaparece. Te recomiendo que uses dos ficheros, uno para recoger los datos, y otra el "action" del FORM original.
Para más exactitud, te recomiendo la lectura del siguiente artículo:
http://www.desarrolloweb.com/articulos/1307.php
Muchas gracias, me parecía que eso era lo que pasaba pero como apenas llevo unas semanas con PHP pensé que de pronto había otra solución. Muchas gracias de nuevo por la respuesta tan rápida y eficiente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas