Foros del Web » Programando para Internet » PHP »

Subir imagen con PHP

Estas en el tema de Subir imagen con PHP en el foro de PHP en Foros del Web. Necesito insertar un registro a una tabla. La cosa es que todos los datos los inserto bien, pero el campo imagen lo deja en blanco. ...
  #1 (permalink)  
Antiguo 27/02/2012, 04:44
Avatar de moronino  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 8 meses
Puntos: 0
Subir imagen con PHP

Necesito insertar un registro a una tabla. La cosa es que todos los datos los inserto bien, pero el campo imagen lo deja en blanco.
La imagen la recojo asi:
Código HTML:
Ver original
  1. <p>Imagen</p>
  2. <input name="img" type="file" id="img">
Y de este modo añado el registro a la tabla desde otroa pagina:
Código PHP:
Ver original
  1. $nombre_archivo = "../../images/restaurantes/" . $HTTP_POST_FILES['img']['name'];
  2.         $img = $HTTP_POST_FILES['img']['name'];
  3.         move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'], $nombre_archivo);
  4.                                        
  5.         $campos="(nb,descrip,espe,hor,direc,prov,pobla,telf,ema,web,img)";
  6.         $valores="('" . $_POST["nb"] . "'";
  7.         $valores .= ",'" . $_POST["descrip"] . "'";
  8.         $valores .= ",'" . $_POST["espe"] . "'";
  9.         $valores .= ",'" . $_POST["hor"] . "'";
  10.         $valores .= ",'" . $_POST["direc"] . "'";
  11.         $valores .= ",'" . $_POST["prov"] . "'";
  12.         $valores .= ",'" . $_POST["pobla"] . "'";
  13.         $valores .= ",'" . $_POST["telf"] . "'";
  14.         $valores .= ",'" . $_POST["ema"] . "'";
  15.         $valores .= ",'" . $_POST["web"] . "'";
  16.         $valores .= ",'" . $_POST["img"] . "'";
  17.         $valores .= ")";
  18.                                        
  19.         $sql = 'Insert into restpendi ' . $campos . ' VALUES ' . $valores;
  20.         mysql_query($sql,$link) or die (mysql_error());
  21.         mysql_close($link);
Cuand entro en la bd veo que estan todos los campos bien rellenados menos el campo imagen que esta en blanco.
  #2 (permalink)  
Antiguo 27/02/2012, 04:52
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Subir imagen con PHP

Uitliza print_r($_POST) y echo $sql para ver dónde pierdes el valor
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 27/02/2012, 04:58
Avatar de moronino  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subir imagen con PHP

El array esta bien pero dentro del $sql no aparece el valor de $img

Array ( [nb] => aaaaaa [descrip] => [espe] => [hor] => [direc] => aaaa [prov] => Cádiz [pobla] => aaaa [telf] => 23432 [ema] => aaa [web] => aa [img] => 10.jpg [Submit2] => Enviar )
Insert into restpendi (nb,descrip,espe,hor,direc,prov,pobla,telf,ema,web ,img) VALUES ('aaaaaa','','','','aaaa','Cádiz','aaaa','23432',' aaa','aa','')

XQ!!!

Última edición por moronino; 27/02/2012 a las 05:11
  #4 (permalink)  
Antiguo 27/02/2012, 05:14
Avatar de moronino  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subir imagen con PHP

Supongo que el error debe de estar aqui:

Código PHP:
Ver original
  1. $nombre_archivo = "../../images/restaurantes/" . $HTTP_POST_FILES['img']['name'];
  2. $img = $HTTP_POST_FILES['img']['name'];
  3. move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'], $nombre_archivo);
Pero no consigo dar con el error, a simple vista todo esta correcto...
  #5 (permalink)  
Antiguo 27/02/2012, 05:20
Avatar de moronino  
Fecha de Ingreso: marzo-2010
Mensajes: 55
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subir imagen con PHP

Otra cosa el codigo que puse al principio no es como lo tenia:

Código PHP:
Ver original
  1. $campos="(nb,descrip,espe,hor,direc,prov,pobla,telf,ema,web,img)";
  2.         $valores="('" . $_POST["nb"] . "'";
  3.         $valores .= ",'" . $_POST["descrip"] . "'";
  4.         $valores .= ",'" . $_POST["espe"] . "'";
  5.         $valores .= ",'" . $_POST["hor"] . "'";
  6.         $valores .= ",'" . $_POST["direc"] . "'";
  7.         $valores .= ",'" . $_POST["prov"] . "'";
  8.         $valores .= ",'" . $_POST["pobla"] . "'";
  9.         $valores .= ",'" . $_POST["telf"] . "'";
  10.         $valores .= ",'" . $_POST["ema"] . "'";
  11.         $valores .= ",'" . $_POST["web"] . "'";
  12.         $valores .= ",'" . $img . "'";
  13.         $valores .= ")";

Si os fijais bien el valor $img lo paso diferente...

algien podria ayudarme??
  #6 (permalink)  
Antiguo 27/02/2012, 06:21
Avatar de mackiechan  
Fecha de Ingreso: junio-2009
Ubicación: Maracay, Venezuela
Mensajes: 51
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Subir imagen con PHP

Tu quieres que salga en esa tabla el nombre de la imagen? En todo caso no deberias mas bien imprimir la variable $nombre_archivo en vez de $img?

Valida que la imagen este subiendo al servidor, lo que debes hacer es agregar el nombre a la BD (Porque no se si entendi mal pero ¿estas intentando meter la imagen en la BD?), una vez el nombre este agregado para mostralo en la tabla llamas al campo del nombredelaimagen y le agregas la ruta de donde se almacenan las imagenes al subirlas.

Etiquetas: mysql, registro, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:08.