Hola!
Tengo un formulario de contacto en mi web y puse un campo para que se pueda, desde el mismo, subir un archivo a la web. Desde el botón para subir al archivo, se llama a un script:
 
 <form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<input type="button" name="button" id="button" value="Subir Imagen" onclick="javascript:subirimagen('strArchivo', 'images_contacto');"/>
  </form>
 
El script, que está en la misma página, es el siguiente:
 
 <script>
function subirimagen(nombrecampo, carpetadestino)
{
	self.name = 'opener';
	remote = open('gestionimagen.php?campo='+nombrecampo+'&nomb  recarpeta='+carpetadestino, 'remote', 'width=400,height=150,location=no,scrollbars=yes,m  enubars=no,toolbars=no,resizable=yes,fullscreen=no  , status=yes');
 	remote.focus();
	}
 </script>  
 
Y desde este script se llama a otra página (gestionimagen.php) que lo que hace es subir el archivo a una carpeta que le paso por método get (images_contacto). El código es el siguiente:
 
<?php if ((isset($_POST["enviado"])) && ($_POST["enviado"] == "form1")) {
	if (($_FILES['userfile']['size']>2048000))
	echo "Solo ficheros de 100Kb como maximo";
		else
		{
	$nombre_archivo = $_FILES['userfile']['name']; 
	move_uploaded_file($_FILES['userfile']['tmp_name'],  "images/".$_POST["nombrecarpeta"]."/".$nombre_archivo);
 
	?>
    <script>
		opener.document.form1.<?php echo $_POST["nombrecampo"]; ?>.value="<?php echo $nombre_archivo; ?>";
		self.close();
	</script>
    <?php
	}
}
else
{?>
 
 
<form action="gestionimagen.php" method="post" enctype="multipart/form-data" id="form1" name="form1" class="margensuperior">
 
  <p>
    <input name="userfile" type="file" />
  </p>
  <p>
   <a class="button" href="javascript:document.form1.submit();"><span>S  ubir Imagen</span></a>
  </p><input name="nombrecampo" type="hidden" value="<?php echo $_GET["campo"]; ?>" />
  </p><input name="nombrecarpeta" type="hidden" value="<?php echo $_GET["nombrecarpeta"]; ?>" />
  <input type="hidden" name="enviado" value="form1" />
</form>
 
Funcionar funciona, pero tiene dos problemas:
El primero es que no cierra la ventana que se abre para poder escoger el archivo a subir, y el segundo que no escribe el nombre del archivo que se sube en el campo correspondiente.
Agradezco la ayuda de antemano.
Un saludo! 
  
 

