Foros del Web » Programando para Internet » PHP »

Previsualizar imagenes antes de subirlas al servidor.

Estas en el tema de Previsualizar imagenes antes de subirlas al servidor. en el foro de PHP en Foros del Web. Buenos dias. Estoy haciendo un formulario donde una persona inserta una serie de datos, a continuación puede agregar fotografías y finalmente se muestra todo para ...
  #1 (permalink)  
Antiguo 06/05/2005, 03:50
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 12 años, 7 meses
Puntos: 0
Previsualizar imagenes antes de subirlas al servidor.

Buenos dias.
Estoy haciendo un formulario donde una persona inserta una serie de datos, a continuación puede agregar fotografías y finalmente se muestra todo para confirmarlo, sería algo como:

Formulario datos -> Formulario Fotos -> Confirmación.

En Confirmación se visualiza todo lo insertado anteriormente antes de subirlo a la base de datos por si desea rectificar, y necesito que en el formulario de Confirmación se visualicen las fotos del formulario anterior pero sin haberlas subido al servidor, de forma que sólo se suba todo cuando la persona acepte la confirmación.

¿Es posible visualizar las fotos sin haberlas subido al servidor en el formulario siguiente?
  #2 (permalink)  
Antiguo 06/05/2005, 09:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Vía PHP .. las imagenes que podrías ver un prévio serían las que estén ya en el servidor .. es decir, las que ya subieron al servidor (independiente que puedas en ese momento eliminarlas (por cancelar la operación) o dejarlas en su destino definitivo si se acepta).

Deberías ver alguna solución del lado del "cliente" (pues no quieres subir las imagenes hasta que no lo valides). Por ejemplo algún tipo de ActiveX o similar con esa funcionalidad (o que lo desarrolles tu mismo).

Un saludo,
  #3 (permalink)  
Antiguo 09/05/2005, 03:45
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 12 años, 7 meses
Puntos: 0
Ok gracias por la respuesta. Tengo otra duda.
Paso al formulario de confirmación el valor de los input file, pero en el formulario de confirmación he de aceptarlo para que se copie al servidor, osea que debo llamar a otro archivo como action. Confirmación->Guardardatos
¿Puedo pasar el valor de $FILES al archivo de Guardar datos o sólo puedo obtenerlo en el inmediatamente posterior de donde tengo los input file?
  #4 (permalink)  
Antiguo 09/05/2005, 04:12
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Los valores los recoje inmediatamente después de enviar el formulario... eso no te impide pasarlos de alguna otra forma como con variables de sesión por ejemplo...

Al final $_FILES actua de forma similar a $_POST... Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 09/05/2005, 04:33
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 12 años, 7 meses
Puntos: 0
¿No hay otra forma de hacerlo sin sesiones? Es que no puedo pasar el valor del file a otro file en el formulario siguiente y con sesiones pues no sé hacerlo.
  #6 (permalink)  
Antiguo 09/05/2005, 04:42
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Claro que hay otras formas... depende de cómo redirecciones... puedes ocupar campos ocultos de un formulario (ve las FAQ), puedes pasar valores por URL, quizá puedas crear un arreglo y pasarlo por URL... (igual FAQ), puedes includo guardar los datos temporalmente en un archivo ó Base de Datos... pero eso es poco recomendable...

La mejor opción es y será el uso de sesiones... no es complicado.. menos si solo vaz a manejarlas entre dos páginas... Ve esta FAQ: http://www.forosdelweb.com/showthrea...998#post238998 está por demás claro...

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 09/05/2005, 05:47
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 12 años, 7 meses
Puntos: 0
Estuve mirando las FAQ's pero haciéndolo con el método habitual de los campos ocultos me sigue sin funcionar. Mediante $_POST no puedo sacar el valor del input file del formulario anterior, me sale vacío. Y usando $_FILES, lo único que puedo sacar son cosas como $_FILES['archivo']['name'], pero no puedo guardarlo en otro input para luego operar con él, y sólo puedo obtener el 'name' del archivo, no toda la ruta y demás datos para posteriormente subirla al servidor. Con sesiones creo que me pasaría igual porque el valor del input file lo debería de guardar en una variable y entonces como me está ocurriendo ahora no me funcionaría.

Seguramente me estaré equivocando en algo pero ahora mismo no sé salir del paso.

Por cierto, gracias por responderme .

EDIT: Bueno creo que estaba cometiendo un error en una parte al pasar el valor del file, voy a probar a corregirlo y si no me funciona ya preguntaré.

Última edición por JoHN_FR; 09/05/2005 a las 05:55
  #8 (permalink)  
Antiguo 09/05/2005, 06:11
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por JoHN_FR
(...) no puedo guardarlo en otro input para luego operar con él, y sólo puedo obtener el 'name' del archivo, no toda la ruta y demás datos para posteriormente subirla al servidor. (...)
no... dandole enviar a el formularia estás subiendo ya el archivo... ya lo había mencionado Cluster... Lo que harias con $_FILES es tomar datos de tu archivo que ya está en tu servidor... si sigues con tu idea original... concuerdo con Cluster, deberías de ver una solución del lado del Cliente.

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 09/05/2005, 06:16
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
http://www.forosdelweb.com/f18/guardar-ruta-archivo-294441/
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #10 (permalink)  
Antiguo 09/05/2005, 10:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
JoHN_FR

Debes comprender que $_FILES es una variable (array) que sólo la puedes leer en un script PHP .. justo al que "envias" tu formulario .. Por ende .. tu podrías subir TODO tu archivo al servidor .. tenerlo ahí temporalemnte (integro) .. hacer tu página de confirmación con prévio incluso y de ahí si dices que "abortar" la operación .. eliminas del servidor la imagen subida .. pero, esto implica como ya te he comentado que el archivo HA de subir completamente, incluso para simplemente obtener su nombre del archivo o propiedades de este.

Por ende vuelvo a insistir que si quieres hacer todo eso -sin subir- tu archivo al servidor .. debes buscar(te) solución por el lado del "cliente"; lease: ActiveX, Applet Java o similar.

Un saludo,
  #11 (permalink)  
Antiguo 10/05/2005, 03:09
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 12 años, 7 meses
Puntos: 0
Gracias por las respuestas. El problema de subirlo temporalmente antes de la confirmación es que si el usuario cierra la ventana o hace algna otra cosa que lo aborte sin pasar por la confirmación los ficheros se quedarían en el servidor.

Bueno ya veré como lo hago, de ActiveX y lo demás que has comentado no tengo ni idea :( .
  #12 (permalink)  
Antiguo 10/05/2005, 05:54
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Antigüedad: 12 años, 7 meses
Puntos: 0
Aprovecharé este hilo para preguntar una cosilla de las sesiones.
Tengo las siguientes páginas:

FormularioDatos -> FormFotos -> ConfirmarDatos.

En el formulario de fotos creo una sesión donde guardo una descripción de las fotos que pone el usuario, para luego en confirmar datos mostrarlo todo.
Desde confirmar datos el usuario puede pulsar un botón para retroceder hasta FormularioDatos por si debe rectificar algo. Con el history.back() los campos siguen correctamente con los datos que tenían, pero al darle a avanzar entro de nuevo a FormFotos, pero los campos de las descripciones que se habían rellenado ahora están lógicamente vacíos.

Pues lo que intento es rellenarlos con los datos de la sesión que hice anteriormente en ese mismo formulario, es decir, un echo $_SESSION['descfotos[índicefoto]'] en el campo de la descripción. El caso es que he hecho un isset y me dice que el objeto de sesión ese no existe. ¿Cómo puedo hacer para usar esos datos sin perder la sesión?
  #13 (permalink)  
Antiguo 10/05/2005, 12:46
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por JoHN_FR
Aprovecharé este hilo para preguntar una cosilla de las sesiones.
Por favor haz nuevas consultas en nuevos tema... Piensa en que un usuario busque acerca de sesiones... Cómo va a visitar un mensaje que trata de imagenes???...

Ahora bien... no entiendo del todo... explica esta parte:
Cita:
Con el history.back() los campos siguen correctamente con los datos que tenían, pero al darle a avanzar entro de nuevo a FormFotos, pero los campos de las descripciones que se habían rellenado ahora están lógicamente vacíos.
Estás en la página de cofirmación, daz atrás y estás en la página del formulario... ¿cómo, estando ahí, puedes darle avanzar y llevarte ahí mismo???...

Aclara eso en tu nueva consulta (convendría colocaras código) , igual la parte de se pierda una variable de sesión; estás no se pierden a menos que le hagas un unset(), en todo caso quizá le estás reasignando "nada".

Invitarte a que leas las FAQ de sesiones... son muy explicativas.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 16:15.