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

Ok. Gracias. Con ese cambio ya se guarda la imagen en la carpeta al menos.
Tambien habia que incluir un par de filas para el intro en la BD, que revisando poco a poco, no ha sido más problema que detectarlo.

el código final queda así:

Código HTML:
Ver original
  1. <?php include ("Connections/miriamweb.php");?>
  2. <?php
  3.  
  4. if ($_FILES["imagen"]["error"] > 0){
  5.     echo "ha ocurrido un error";
  6. } else {
  7.     //ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
  8.     //y que el tamano del archivo no exceda los 100kb
  9.     $permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png");
  10.     $limite_kb = 2000;
  11.     if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){
  12.         //esta es la ruta donde copiaremos la imagen
  13.         //recuerden que deben crear un directorio con este mismo nombre
  14.         //en el mismo lugar donde se encuentra el archivo subir.php
  15.         $ruta = "album/" . $_FILES['imagen']['name'];
  16.         //comprovamos si este archivo existe para no volverlo a copiar.
  17.         //pero si quieren pueden obviar esto si no es necesario.
  18.         //o pueden darle otro nombre para que no sobreescriba el actual.
  19.         if (!file_exists($ruta)){
  20.             //aqui movemos el archivo desde la ruta temporal a nuestra ruta
  21.             //usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo
  22.             //almacenara true o false
  23.             $resultado = @move_uploaded_file($_FILES["imagen"]["tmp_name"], $ruta);
  24.             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.
  25.                 $nombre = $_FILES['imagen']['name'];
  26.                 $GModo = $_POST['GModo'];
  27.                 $GSERIE = $_POST['GSerie'];
  28.                 $GTitulo = $_POST['GTitulo'];
  29.                 $GTecnica = $_POST['GTecnica'];
  30.                 $GFecha = $_POST['GFecha'];
  31.                 $GMedidas = $_POST['GMedidas'];
  32.                 $GDisponibilidad =  $_POST['GDisponibilidad'];     
  33.                 $Ganadir = "INSERT INTO obras (Medio, Serie, Titulo, Tecnica, Fecha, Medidas, Disponibilidad, Imagen) VALUES ('$GModo', '$GSERIE', '$GTitulo', '$GTecnica', '$GFecha', '$GMedidas', '$GDisponibilidad', '$nombre');";
  34.                 mysql_select_db($database_miriamweb, $miriamweb);
  35.   $Result1 = mysql_query($Ganadir, $miriamweb) or die(mysql_error());
  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.     Medio:<input type="text" name="GModo" /><br />
  52.     Serie:<input type="text" name="GSerie" /><br />
  53.     Titulo:<input type="text" name="GTitulo" /><br />
  54.     Tecnica:<input type="text" name="GTecnica" /><br />
  55.     Fecha:<input type="text" name="GFecha" /><br />    
  56.     Tamaño:<input type="text" name="GMedidas" /><br />
  57.     Disponibilidad:<input type="text" name="GDisponibilidad" /><br />
  58.     Imagen:<input type="file" name="imagen" id="imagen" /><br />
  59.    
  60.     <input type="submit" name="subir" value="Añadir"/>
  61. </form>

El único "problema" es el aviso de variables no definidas al lanzar la página

(Notice: Undefined index: imagen in C:\xampp\htdocs\miriam3\anadir.php on line 4

Notice: Undefined index: imagen in C:\xampp\htdocs\miriam3\anadir.php on line 11
archivo no permitido, es tipo de archivo prohibido o excede el tamano de 2000 Kilobytes) pero se soluciona colocando todo el php en otro archivo.

Muchas gracias.