Hola:
Por lo que veo, tu código necesita unas pocas modificaciones para que pueda ser útil, y evidentemente debe ser el contenido del iframe.
Como ejemplo, pondré solo las líneas necesarias para la página principal:
Código:
<html>
<head>
<title>
Respuesta: como previsualizar imagenes de un formulario.... (iframe)
</title>
</head>
<body>
<form method="post" enctype="mutipart/form-data" target="nombre_iframe" action="iframe_imagen.php" >
<input type="file" onchnge="this.form.submit()" />
</form>
<iframe name="nombre_iframe" style="display: none" ></iframe>
<div id="mostrar_imagen" ></div>
</body>
</html>
Por cierto, no puedes usar un solo documento, así que el action no puede estar vacío, sino indicar el fichero que recibirá el file...
Y ahora en base a tu código (suponiendo que esté bien):
Código:
<html>
<head>
<title>Recibiendo file
</title
<?php
$nombre_imagen=$_FILES['imagen']['name'];
if (move_uploaded_file($_FILES['imagen']['tmp_name'],'/img_pruebas/'.$_FILES["imagen"]["name"])) {
$imagen="/img_pruebas/".$_FILES['imagen']['name'];
}else{
$error = "error en la subida de la imagen";
}
if (isset($imagen)) echo <<< no_error
<script type="text/javascript" language="javascript">
window.onload = function() {
parent.document.getElementById('mostrar_imagen').innerHTML="<img src='/img_pruebas/<?php echo $nombre_imagen; ?>'/>";
}
</script>
no_error;
else echo <<< mensaje
<script type="text/javascript" language="javascript">
window.onload = function() {
alert("$error");
}
</script>
mensaje;
?>
</head>
<body></body>
</html>
Como podrás ver, no parece muy difícil.
Saludos