Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/07/2015, 10:04
maitara
 
Fecha de Ingreso: julio-2015
Mensajes: 21
Antigüedad: 8 años, 9 meses
Puntos: 0
como inserto imagen y la tabla de base de datos

hola si alguien puede ayudarme en esto
las imagenes se suben atraves de un formulario a una carpeta llamada (imagenes) y se gurada la ruta asi (C:WindowsTEMPphpBFCE.tmp) en la tabla de imagenes de base de datos. me pregunta es quiero que se guardan asi (gato.jpg) para poder mostrarlas despues

la tabla de imagenes

id_imagen
usuario_id
usuario_freg
fichero----------------- aqui se guarda la imagen asi (C:WindowsTEMPphpBFCE.tmp)
descripcion

quiero que se guarde la ruta en la columna de fichero de la tabla imagenes ejemplo asi : arbol.jpg


el formulario

Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <title>Documento sin t&iacute;tulo</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  7. </head>
  8.  
  9. <body>
  10. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">  
  11.  
  12.  
  13.         <label>descripcion:</label><br/><BR>
  14.         <input type="text" name="descripcion" maxlength="15" /><br/>
  15. <input name="fichero" type="file" size="35" />
  16.      
  17.   <input name="submit" type="submit" value="Upload!">    
  18. </form>  
  19. </body>  
  20.  
  21. </html>


el codigo que sube las imagenes



Código PHP:
Ver original
  1. <?php  
  2. function mysql_escape($cadena) {  //funcion para limpiar campos del form de codigo malicioso  
  3.     if(get_magic_quotes_gpc() != 0) {  
  4.         $cadena = stripslashes($cadena);  
  5.     }  
  6.     return mysql_real_escape_string($cadena);  
  7. }    
  8.  
  9.  
  10.  
  11. if(isset($_FILES['fichero']['name'])) {  //comprovamos que se haya cargado el archivo  
  12.  
  13.    if(is_uploaded_file($_FILES['fichero']['tmp_name'])) {  
  14.      
  15.      
  16.    //empieza la redimension, tomamos la imagen temporal subida que puede ser jpg, png o gif  
  17.    $info = getimagesize($_FILES['fichero']['tmp_name']);  
  18.    //segun el caso sera jpg, gif, png  
  19.    switch ($info[2]) {  
  20.   case 1:  
  21.     $imagen = imagecreatefromgif($_FILES['fichero'] ['tmp_name']); break;  
  22.   case 2:  
  23.     $imagen = imagecreatefromjpeg($_FILES['fichero'] ['tmp_name']); break;  
  24.   case 3:  
  25.     $imagen = imagecreatefrompng($_FILES['fichero'] ['tmp_name']); break;  
  26.   // etcétera //  
  27.   }  
  28.  
  29. $original = $imagen;  
  30. $original_w = imagesx($original);  
  31. $original_h = imagesy($original);  
  32.  
  33. $max = 500;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS segun la tabla donde la muestres  
  34.  
  35. if($original_w>$original_h) {
  36.     $muestra_w = $max;  
  37.     $muestra_h = intval(($original_h/$original_w)*$max);  
  38.     } else {  
  39.     $muestra_w = intval(($original_w/$original_h)*$max);  
  40.     $muestra_h = $max;  
  41.     }  
  42.  
  43. $muestra = imagecreatetruecolor($muestra_w,$muestra_h);  
  44. imagecopyresampled($muestra,$original,0,0,0,0, $muestra_w,$muestra_h,$original_w,$original_h);//aqui se crea la imagen en la variable $muestra  
  45.  
  46. imagedestroy($original); // aqui destruyo el original, pues no hace falta ya  
  47.  
  48.  
  49. // comenzamos a guardar el archivo  
  50.         $ruta_destino = "imagenes/"; //ponemos la ruta donde queremos almacenar los archivos en el server  
  51.         $namefinal= trim ($_FILES['fichero']['name']); //quito espacios iniciales y finales del nombre del archivo  
  52.         $namefinal= ereg_replace (" ", "", $namefinal); //quito los espacios entre el nombre para no tener despues problemas de codigo  
  53.         $uploadfile= $ruta_destino . $namefinal; //monto la ruta seguida del nombre del archivo en $uploadfile  
  54.         if(imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final,  el 100 el la calidad del jpg  
  55.                     echo "<b>Upload exitoso!. Datos:</b><br>";  
  56.             echo "Nombre: <i><a href=\"".$uploadfile."\">".$_FILES['fichero']['name']."</a></i><br>";  
  57.             echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";  
  58.                     echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";  
  59.                         echo "<br><hr><br>";  
  60.                        
  61.  
  62.  
  63.                          
  64.  //insertamos en la BD los campos del form  
  65.  if(isset($_SESSION['usuario_id'])) // Aqui actualizaremos el perfil del usuario en la base de datos y le mostraremos que esta conectado
  66. {
  67. $orden = ("select * from usuarios where usuario_id = ". $_SESSION['usuario_id'] ."");
  68.  
  69.  
  70.  
  71.                 $reg = mysql_query("INSERT INTO datos (usuario_id, fichero, descripcion, usuario_freg) VALUES ('".$usuario_id."', '".$fichero."', '".$descripcion."', NOW())");
  72.    
  73.    
  74. }
  75.  
  76.                                       }else{echo "no se guardo la foto, ni se inserto  en la Base de Datos";}  
  77.                      }else{echo "no se subio foto";}  
  78.            }else{echo "";}  
  79.  
  80.  
  81.  //ahora el formulario

las imagenes se guardan bien en la carpeta imagenes
gracias

Última edición por maitara; 28/07/2015 a las 10:14