Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Reenvio de imagen entre formularios

Estas en el tema de Reenvio de imagen entre formularios en el foro de PHP en Foros del Web. Buenas, tengo un problemilla manejando imagenes entre formularios; me explico: ARCHIVO: index.php Inicialmente tenemos un formulario con un campo FILE para enviar una foto: Código ...
  #1 (permalink)  
Antiguo 07/02/2010, 07:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Reenvio de imagen entre formularios

Buenas,

tengo un problemilla manejando imagenes entre formularios; me explico:

ARCHIVO: index.php
Inicialmente tenemos un formulario con un campo FILE para enviar una foto:

Código HTML:
<form action="compruebaPOST.php" method="post" enctype="multipart/form-data" accept="image/jpeg , image/pjpeg">
		<p>
			Foto <input type="file" name="foto" >
		</p>
	<input type="submit" name="subir" value="SUBIR FOTO" >
</form> 
Este formulario va por POST a compruebaPOST.php donde se hacen algunas otras operaciones, asi que tengo que hacer este camino a la fuerza.
En compruebaPOST recojo la imagen correctamente y la puedo copiar sin problemas a cualquier directorio del servidor; pero lo que quiero es volver a enviar esta imagen a otro php que la guarde, en este caso es la misma index.php.

para reenviar hago lo siguiente en compruebaPOST:

Código PHP:
<?php
echo'
<html><head><script type="text/javascript" src="../js/js.js"></script></head><body>'
;
if(isset(
$_FILES['foto'])){
echo
'<form id="truquiForm" name="truquiForm" action="index.php" method="POST" enctype="multipart/form-data" accept="image/jpeg , image/pjpeg ">
        <input type="file" name="fotoBis" value='
.$_FILES['foto'].'>
    </form>
    
    <script type="text/javascript">
        submitTruquiForm();
    </script>'
;
}
echo
'</body></html>';
?>
y el script que hace auto submit es:
(esto no es el problema)
Código:
function submitTruquiForm(){
	var nav = '';
	if( typeof( window.innerWidth ) == 'number' ){
		//Non-IE: Firefox,Chrome 
		nav = 'NoIE';
		var obj = document.forms[0];
		obj.submit();
	}else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		nav = 'IE+6';
		var obj = document.forms['truquiForm'];
		obj.submit();
	}else if( document.body && ( document.body.clientWidth || document.body.clientHeight )){
		//IE 4 compatible
		nav = 'IE4';
		document.forms['truquiForm'].submit();
	}
}
El problema es cómo poner el formulario que manda fotoBis...

No consigo recuperar la imagen de vuelta en index.php

A ver si alguien tiene alguna idea.

Saludos,
Julio.
  #2 (permalink)  
Antiguo 07/02/2010, 08:26
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 3 meses
Puntos: 66
Respuesta: Reenvio de imagen entre formularios

Hola,

Si lo que quieres es mostrar la foto en el index.php:

Cuando acabes con el proceso compruebaPOST.php vuelve al index.php mediante header(“location:index.php?imagen=$imagen”); pasando como variable $_GET el nombre de la imagen.

En el index.php puedes colocar un script como este para mostrar la imagen:

Código PHP:
<?php
$nombre_archivo 
/ruta/hacia/.$_GET[‘imagen’];

if (
file_exists($nombre_archivo)) {
    echo 
"<img src=”.$nombre_archivo."/>;
} else {
    echo 
"El archivo $nombre_archivo no existe";
}
?>
No se si lo he entendido bien.

Saludos
  #3 (permalink)  
Antiguo 07/02/2010, 08:46
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Reenvio de imagen entre formularios

Hola,

no, eso no es lo que necesito, pero gracias igualmente.

En el caso de tu respuesta, ya se habria guardado la imagen en el directorio mientras pasa por compruebaPOST.php y solo envias el nombre de la foto a index.php para mostrarla

Yo lo que necesitaría es poder reenviar el objeto foto entero y, una vez en index.php, poder guardar la imagen en el servidor si es el caso.


Se que cuando se hace submit la primera vez, se genera una copia temporal de la imagen en $_FILES['foto']['tmp_name'] , no sé si tendré que reenviar este archivo temporal o intentar recuperar la ruta de la foto original...

Seguiré probando.

Etiquetas: reenvio, formulario
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 15:09.