Foros del Web » Programando para Internet » PHP »

Errores al subir imagen a la BD

Estas en el tema de Errores al subir imagen a la BD en el foro de PHP en Foros del Web. Buenas, estoy intentando subir una imagen al servidor y además a la BD (insertando su nombre, info, etc). Lo primero me sale bien, pero lo ...
  #1 (permalink)  
Antiguo 22/10/2010, 08:08
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Errores al subir imagen a la BD

Buenas, estoy intentando subir una imagen al servidor y además a la BD (insertando su nombre, info, etc). Lo primero me sale bien, pero lo segundo me da varios errores que no puedo solucionar:
Código PHP:
Ver original
  1. if(isset($_POST['upload']) && $tamany >  0) {      
  2.             $fp = fopen($tempName, 'r');
  3.             $content = fread($fp, filesize($tempName));
  4.             $content = addslashes($content);
  5.             fclose($fp);
  6.  
  7.             $query = "INSERT INTO upfile (taula, nomfile, ct_descripcio, cs_descripcio, clau_id, amplada, altura) VALUES('partseccio', $fileName, '".$_POST["peuct"]."', '".$_POST["peucs"]."', $ID_reg, $amplada, $altura)";
  8.             mysql_query($query) or die('Error, query failed');
  9.             if (mysql_affected_rows($link) >0){
  10.                 echo $query2;
  11.                 echo "Imatge subida correctamente";
  12.             }else{
  13.                 echo "Error subiendo a BD";
  14.             }
  15.        
  16.         }

Upload es el nombre del boton de subir imagen.

Warning: fopen(/tmp/phpS1wm4m) [function.fopen]: failed to open stream: No such file or directory in /var/www/html/workspace/gypco/root/admin/seccions/upload.php on line 236

Warning: filesize() [function.filesize]: stat failed for /tmp/phpS1wm4m in /var/www/html/workspace/gypco/root/admin/seccions/upload.php on line 237

Warning: fread(): supplied argument is not a valid stream resource in /var/www/html/workspace/gypco/root/admin/seccions/upload.php on line 237

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/html/workspace/gypco/root/admin/seccions/upload.php on line 239
Error, query failed

Lo que no entiendo porqué sale esa ruta tmp/. La crea él?

Thanks!
  #2 (permalink)  
Antiguo 22/10/2010, 08:11
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 19 años, 5 meses
Puntos: 23
Respuesta: Errores al subir imagen a la BD

Hola,
No, tu problema está en está mal aplicado el uso del archivo upload.php, no lo encuentra. Fijate en tu form, la ruta que utilizás para acceder al upload. De ultima, coloca ese archivo junto al archivo del form, y quita las carpetas que hacia referencia al archivo indicado, solo para que pruebes y verifiques que tu archivo upload lo encontró.

Un saludo.
__________________
Freelance - Aplicaciones Web
  #3 (permalink)  
Antiguo 22/10/2010, 08:21
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Errores al subir imagen a la BD

No he entendido muy bien lo que dices de las carpetas que hacia referencia al archivo indicado!

Tengo el php que llama al upload.php en la misma carpeta. Se invoca mediante:

Código PHP:
Ver original
  1. <input type="submit" name="upload" value="      <?php echo texte($_SESSION["idioma"],"enviar")?>      ">

Y el submit de la página se hace con:
Código PHP:
Ver original
  1. <form action="upload.php" method="post" enctype="multipart/form-data">

No creo que sea problema de que no encuentra el upload.php, porque el trocito de código que hace el upload de la iamgen al servidor, lo hace perfectamente!
  #4 (permalink)  
Antiguo 22/10/2010, 08:34
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 19 años, 5 meses
Puntos: 23
Respuesta: Errores al subir imagen a la BD

Hola,
Si, por lo visto el file lo encuentra, yo no habia prestado mucha atención en eso.
Si podés mostranos las siguientes lineas que hay en el upload.php

/upload.php on line 236
/upload.php on line 237
/upload.php on line 239


Tratá de mostrarnos el contenido de esas lineas, a ver que se puede ver para darte una mano.

Saludos.
__________________
Freelance - Aplicaciones Web
  #5 (permalink)  
Antiguo 22/10/2010, 08:38
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Errores al subir imagen a la BD

Aqui están:

236 $fp = fopen($tempName, 'r');
237 $content = fread($fp, filesize($tempName));
238 $content = addslashes($content);
239 fclose($fp);
  #6 (permalink)  
Antiguo 22/10/2010, 08:52
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 19 años, 5 meses
Puntos: 23
Respuesta: Errores al subir imagen a la BD

Hola,
Bueno, pero agregá de donde viene el $tempName, así no se sabe nada. Es cuestión de razonar, tu problema está en $tempName, te está diciendo que el fopen no lo puede hacer, por lo tanto no podrá leerlo, ni aplicar addslashes ni muchos menos cerrarlo porque no lo encontró, me explico? Se más específico con tu código.

Saludos.
__________________
Freelance - Aplicaciones Web
  #7 (permalink)  
Antiguo 22/10/2010, 08:54
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Errores al subir imagen a la BD

Cierto, perdona:

$tamany = $_FILES["File1"]["size"];
$tempName = $_FILES["File1"]["tmp_name"];

Lo que no entiendo es porque todo esto se hace con el nombre temporal y no con el normal?
  #8 (permalink)  
Antiguo 22/10/2010, 09:08
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 19 años, 5 meses
Puntos: 23
Respuesta: Errores al subir imagen a la BD

Hola,
Me vas a volver loco pidiendote los códigos jaja, sin ofender claro. También falta que pongas por las dudas la linea del input file, se supone que se llamaría File1, pero voy a suponer que eso es así.

Código HTML:
Ver original
  1. <input type='file' id='file' name='file'>
Código PHP:
Ver original
  1. <?php echo $_FILES [ 'file' ][ 'name' ]; ?>

Prueba con algo así de éste estilo. El tmp_name se utiliza para realizar move_uploaded_file y cosas por el estilo. De la forma en que te agrege esas dos lineas, debería mostrarte el nombre.
Yo pienso que no te lo abre porque no está en el servidor, es decir, estás intentando abrirlo desde la dirección del "input" y no desde el servidor, no sé si me explico, es decir, si querés abrirlo, hacelo directamente desde donde fue a parar ese archivo y no desde el $_FILES.

Un saludo.
__________________
Freelance - Aplicaciones Web
  #9 (permalink)  
Antiguo 22/10/2010, 09:14
 
Fecha de Ingreso: enero-2005
Mensajes: 170
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: Errores al subir imagen a la BD

Bueno no te lo había puesto, porque daba porque eso está bien, ya que el upload al servidor lo ahce bien:

Código PHP:
Ver original
  1. <input type="file" name="File1">

Creo que va por ahí el problema, que está intentando abrirlo desde la direccion del inpot y no desde el servidor. Entonces ese script está mal...
  #10 (permalink)  
Antiguo 22/10/2010, 09:21
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 19 años, 5 meses
Puntos: 23
Respuesta: Errores al subir imagen a la BD

Claro, en teoría no debería abrirtelo porque no está en tu servidor, es decir, estás tratando abrir un archivo del directorio del usuario. Lo que tenés que hacer es subirlo antes a tu servidor y luego utilizar los datos de ese archivo para almacenarlo en tu base de datos.
Espero que se haya entendido.

Saludos.
__________________
Freelance - Aplicaciones Web

Etiquetas: bd, subir
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 22:03.