Programación Web y Scripting > PHP

 Mostrar Imagenes Antes De Subir A La Bd

(1/4) > >>

zaida20:
Hola:

Tengo el sguiente código para subir imágenes a la bd:

subir_imagen.php


--- Código: Text ---<form action="subir_imagenes_con_ruta2.php" method="post" enctype="multipart/form-data">     Archivo: <input name="fichero" type="file">     <input name="submit" type="submit" value="Enviar">  </form>  
subir_imagen2.php


--- Código: Text ---chmod('./imagenes/','0777');if($_FILES['fichero']['name']!=NULL){  $uploadfile_temporal=$_FILES['fichero']['tmp_name'];  $uploadfile_nombre="imagenes/".$_FILES['fichero']['name'];  $ruta_foto='imagenes/'.$_FILES['fichero']['name'];//recoge la ruta de la imagen(carpeta y nombre)    if (is_uploaded_file($uploadfile_temporal))  {    move_uploaded_file($uploadfile_temporal,$uploadfile_nombre);    //echo "ok";  }  else  {    echo "error";  }//insertamos las imágenes en la bd  $sql="INSERT INTO img (foto) VALUES ('$ruta_foto')";    $res = mysql_query($sql);    if (!$res)      echo "Error al ejecutar la consulta";}//hacemos la consulta$obtener_foto="select foto, id from img";$i=0;$consulta=mysql_query($obtener_foto,$conexion)or die(mysql_error());;if($consulta!=NULL){  if(mysql_num_rows($consulta)!=0)  {      while($row=mysql_fetch_array($consulta))      {      $imagen[$i]=$row['foto'];      $id=$row['id'];      $size= getimagesize ($imagen[$i]);      $ancho[$i]= (int) ($size [0] * 0.3);       $alto[$i]= (int) ($size [1] * 0.3);       $i++;      }  }} ?> 
Lo que necesito es que cuando yo elija la imagen que quiero subir y clice sobre abrir me vayan muestrando las imagenes que quiero insertar en el archivo donde se encuentra el form antes de darle a Enviar .

Alguna idea?
Gracias y saludos!!! :hola:

ibito:
Lo que quieres se puede hacer con javascript
Ya intentaste en ¿Google?
El primer resultado es lo que buscas creo.

LeGatoRojo:
creo que no esta muy claro...

ibito:
Pues lo que debes hacer, es poner una etiqueta "img", después que en el onChange del "input file" debes poner que el "src" del "img" sea la dirección del archivo en tu pc local.


--- Código: Text --- <img src="" id="img" name="img" width="350" height="350" /><br /> <input type="file" name="file" id="file" onchange="document.getElementById('img').src='file:///'+document.getElementById('file').value; " />  
Pero por lo que he visto solo funciona en IE  :rolleyes:

zaida20:
He conseguido que me visualice cada imagen que elijo para subir a la bd y no que me recargue la página cada vez que elijo una, éste es el código por si le sirve a alguien:

mostrar_imagen.php


--- Código: Text ---<?phpsession_start();?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Documento sin título</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Img Upload w/Preview</title><style type="text/css"><!--input {   margin-top:10px;   display: block;   text-align:center;}form{ text-align:center;   width:400px;   margin-left:auto;   margin-right:auto;}--></style><script language="javascript">  function refreshImg()  {  document.iframe_imagenes.location.href='imagenes.php?ruta='+document.form1.imageField.value;   }</script></head><body>  <form name="form1" id="form1" action="" method="post" enctype="multipart/form-data" >  <input name="imageField" type="file" onChange="refreshImg()"></form>    <iframe name="iframe_imagenes" src="imagenes.php">    </iframe></body></html>  
imagenes.php


--- Código: Text ---<?phpsession_start();$ruta_imagen=$_GET['ruta'];if($ruta_imagen!=NULL){if($_SESSION['foto']==NULL){  $rut=array();  $rutimagen[0]=$ruta_imagen;  $_SESSION['foto']=$rutimagen;  $popo=$_SESSION['foto'];}else{  $foto=$_SESSION['foto'];  $num=count($foto);  $rutimagen=$_SESSION['foto'];  $rutimagen[$num]=$ruta_imagen;  $_SESSION['foto']=$rutimagen;  $popo=$_SESSION['foto'];}  $i=0;  while($popo[$i]!=NULL)  {    ?>    <img src="<?php echo $popo[$i];?>">    <?php    $i++;  }}?> 
Saludos!!! :hola:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa