Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/01/2014, 15:17
pitbullmedel
 
Fecha de Ingreso: enero-2014
Ubicación: Chile
Mensajes: 11
Antigüedad: 11 años
Puntos: 1
preview de imágenes

Hice el siguiente codigo en 2 archivos php, que funciona perfecto, cargando 3 previews de 3 imagenes en 100 x 100px antes de subirlas a la BD..

El problema es que no logro poner todos los input en un mismo <form>, cada carga de archivo queda en un <form> diferente y me molesta para hacer el submit ya que tendría que poner 3 botones, uno para cada form..

traté con

$_FILES['archivo']['name']
$_FILES['archivo2']['name']
$_FILES['archivo3']['name']...

no funcionó, creo que el problema podría ser ("document.form"+id);) pero no me manejo con java

aquí dejo los codigos:

HTML

<html>
<head>
<script type="text/javascript">
function setpreview(id)
{
form=eval("document.form"+id);
form.target='iframe_null';
form.action='uploader.php?id='+id;
form.submit();
}
</script>
</head>

<body>
<form name="form1" action="" method="post" enctype="multipart/form-data">
<div>Personalizar tu imagen: </div>
<div><input name="archivo" id="archivo" type="file" size="35" onChange="setpreview(1)"/></div>
<div><img src="" id="picture1" alt="vista previa" height="100" width="100"/> </div>
</form>
<form name="form2" action="" method="post" enctype="multipart/form-data">
<div>Personalizar tu imagen: </div>
<div><input name="archivo" id="archivo" type="file" size="35" onChange="setpreview(2)"/></div>
<div><img src="" id="picture2" alt="vista previa" height="100" width="100"/> </div>
</form>
<form name="form3" action="" method="post" enctype="multipart/form-data">
<div>Personalizar tu imagen: </div>
<div><input name="archivo" id="archivo" type="file" size="35" onChange="setpreview(3)"/></div>
<div><img src="" id="picture3" alt="vista previa" height="100" width="100"/> </div>
</form>

<!-- iframe donde envia el formulario -->
<iframe src="about:blank" name="iframe_null" style="display:none">
</body>
</html>

UPLOADER PHP

<?php

$carpeta="imagenes_temporales/";
$name=$carpeta.basename($_FILES['archivo']['name']);
move_uploaded_file($_FILES['archivo']['tmp_name'],$name);

?>
<script type="text/javascript">
// Enviamos el nombre de la imagen al id picture de la pantalla de donde es llamado
parent.document.getElementById('picture<?php echo $_GET["id"];?>').src='<?php echo $name; ?>';
parent.document.getElementById('picture<?php echo $_GET["id"];?>').style.width='<?php echo $infoFile[0];?>px';
parent.document.getElementById('picture<?php echo $_GET["id"];?>').style.height='<?php echo $infoFile[1];?>px';
</script>

si lo pegan tal cual esta, les va a funcionar perfecto, solo tendrían que crear una carpeta que se llame "imagenes_temporales" en el directorio..

ayuda gracias.