Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2015, 10:38
Avatar de tiobavie
tiobavie
 
Fecha de Ingreso: noviembre-2015
Ubicación: Santander
Mensajes: 13
Antigüedad: 8 años, 5 meses
Puntos: 0
Codigo para subir imagen

Hola. Estoy intentando hacer un formulario para añadir datos desde la web a la base de datos. Hay un campo que guardará el enlace a una imagen (he leído que es mejor guardar las imágenes en una carpeta del servidor y el enlace en la BD, ya que es más sencillo acceder así a esas imágenes)

El caso es que he adaptado uno de tantos códigos que he ido encontrando y que en principio todo funcionaba... Hasta que me ha dado por mirar esos registros en la BD y en la carpeta, y no están.

¿Podríais indicarme que errores hay en el código que uso?
En principio, me gustaría que estuviese todo (HTML y PHP) en la misma página... Si es posible, aunque también he probado ese código en dos paginas separadas y tampoco guarda ni los datos ni la imagen.

Saludos.

Código HTML:
Ver original
  1. <?php include ("Connections/miriamweb.php");?>
  2. <!doctype html>
  3. <meta charset="utf-8">
  4. <title>Documento sin título</title>
  5. </head>
  6. <?php
  7. if ($_FILES["imagen"]["error"] > 0){
  8.     echo "ha ocurrido un error";
  9.     //ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
  10.     //y que el tamano del archivo no exceda los 100kb
  11.     $permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png");
  12.     $limite_kb = 200;
  13.     if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){
  14.         //esta es la ruta donde copiaremos la imagen
  15.         //recuerden que deben crear un directorio con este mismo nombre
  16.         //en el mismo lugar donde se encuentra el archivo subir.php
  17.         $ruta = "album/" . $_FILES['imagen']['name'];
  18.         //comprovamos si este archivo existe para no volverlo a copiar.
  19.         //pero si quieren pueden obviar esto si no es necesario.
  20.         //o pueden darle otro nombre para que no sobreescriba el actual.
  21.         if (!file_exists($ruta)){
  22.             //aqui movemos el archivo desde la ruta temporal a nuestra ruta
  23.             //usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo
  24.             //almacenara true o false
  25.             $resultado = move_uploaded_file($_FILES["imagen"]["tmp_name"], $ruta);
  26.             if ($resultado){///hasta aqui es para guardar la imagen en carpeta album/... Una vez hecho esto, se añaden los campos a la base de datos.
  27.                 $nombre = $_FILES['imagen']['name'];
  28.                 $GModo = $_POST['GModo'];
  29.                 $GSERIE = $_POST['GSerie'];
  30.                 $GTitulo = $_POST['GTitulo'];
  31.                 $GTecnica = $_POST['GTecnica'];
  32.                 $GFecha = $_POST['GFecha'];
  33.                 $GMedidas = $_POST['GMedidas'];
  34.                 $GDisponibilidad =  $_POST['GDisponibilidad'];     
  35.                 $Ganadir = "INSERT INTO `miriamweb`.`obras` (`ID`, `Medio`, `Serie`, `Titulo`, `Tecnica`, `Fecha`, `Medidas`, `Disponibilidad`, `Imagen`) VALUES (NULL, '$GModo', '$GSERIE', '$GTitulo', '$GTecnica', '$GFecha', '$GMedidas', '$GDisponibilidad1', '$nombre');";
  36.                
  37.                 echo "el archivo ha sido movido exitosamente";
  38.             } else {
  39.                 echo "ocurrio un error al mover el archivo.";
  40.             }
  41.         } else {
  42.             echo $_FILES['imagen']['name'] . ", este archivo existe";
  43.         }
  44.     } else {
  45.         echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
  46.     }
  47. }
  48. ?>
  49.  
  50. <form action="" method="POST" enctype="multipart/form-data">
  51.     <label for="imagen">Medio:</label>
  52.     <input type="text" name="GModo"  required/>
  53.     <label for="imagen">Serie:</label>
  54.     <input type="text" name="GSerie"  required/>
  55.     <label for="imagen">Titulo:</label>
  56.     <input type="text" name="GTitulo"  required/>
  57.     <label for="imagen">Tecnica:</label>
  58.     <input type="text" name="GTecnica"  required/>
  59.     <label for="imagen">Fecha:</label>
  60.     <input type="text" name="GFecha"  required/>    
  61.     <label for="imagen">Tamaño:</label>
  62.     <input type="text" name="GMedidas"  required/>
  63.     <label for="imagen">Disponibilidad:</label>
  64.     <input type="text" name="GDisponibilidad"  required/>
  65.     <label for="imagen">Imagen:</label>
  66.     <input type="file" name="imagen" id="imagen" required/>
  67.    
  68.     <input type="submit" name="subir" value="Añadir"/>
  69. </form>
  70. </body>
  71. </html>