Foros del Web » Programando para Internet » PHP »

Subir archivos a tu BD (guardando en la BD en binario)

Estas en el tema de Subir archivos a tu BD (guardando en la BD en binario) en el foro de PHP en Foros del Web. Tengo una aplicación que en donde quiero incorporarle imágenes a la base de datos existente, ya que hasta el momento las mismas las alojaba en ...
  #1 (permalink)  
Antiguo 29/06/2004, 06:52
 
Fecha de Ingreso: junio-2001
Mensajes: 13
Antigüedad: 16 años, 6 meses
Puntos: 0
Subir archivos a tu BD (guardando en la BD en binario)

Tengo una aplicación que en donde quiero incorporarle imágenes a la base de datos existente, ya que hasta el momento las mismas las alojaba en una carpeta del rígido. He usado la aplicación de Cluster y he ingresado las imágenes pero me da error al querer implementarlo en la aplicación que tengo.

Para ver si puede algunos de los integrantes del foro darme una mano, pueden tomar el fuente, que es totalmente operable, en:

aquí

Turco

Última edición por turco; 29/06/2004 a las 21:37
  #2 (permalink)  
Antiguo 29/06/2004, 09:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Será mejor que describas los errores o problemas que tienes .. Entre otras cosas por qué en tu código falta el código funete de algunos archivos que llamas bajo esos include() y el modelo de BD que usas exactamente (con las modificaciones que le puedas haber hecho al original o adaptación a tus modelo actual para la BD).

Un saludo,
  #3 (permalink)  
Antiguo 29/06/2004, 21:36
 
Fecha de Ingreso: junio-2001
Mensajes: 13
Antigüedad: 16 años, 6 meses
Puntos: 0
Cluster aquí tienes los archivos

Cluster:

Creo que los visitantes al foro no se van a quejar aquí tiene los archivos de la aplicación completos, el identidad.php original y modificado.

Servidor: es Apache/1.3.24
Db: MySql 3.23.49
Lenguaje: PHP/4.3.3

Los errores que aparecen (identidad.php modificado) son:

Warning: fread(): supplied argument is not a valid stream resource in identidad.php on line 730

Warning: fread(): supplied argument is not a valid stream resource in identidad.php on line 731

Warning: fread(): supplied argument is not a valid stream resource in identidad.php on line 732

Warning: fread(): supplied argument is not a valid stream resource in identidad.php on line 733
  #4 (permalink)  
Antiguo 30/06/2004, 07:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, así está mejor por si alguien quiere probar tus modificaciones del script original.

Ahora .. viendo el error concreto:

Revisa que valor obtienes de:
$foto_temporal=$_FILES['archivo']['tmp_name'] ;

(y las restantes)

En principio .. las funciones fread() y afines pueden dar problemas de acceso en configuraciones de PHP con "safe mode" (a ON) o restricciones de open_base_dir (ver php.ini o phpinfo() )

En ese tipo de configuración, PHP no puede acceder a un archivo fuera del directorio asignado para PHP (en esas directivas).

La solución es en esos casos es mover el archivo hacia un directorio de tu sitio con la función move_uploaded_file() y de ahí aplicar el fread() como se está usando pero desde la ruta que quedó el archivo en tu sitio al moverlo.

La función move_uploaded_file() puede trabajar y trabaja sólo para mover archivos desde el "Upload_tmp_dir" (que es donde PHP deja los archivos al ser subidos al servidor por HTTP) hacia donde indiques sin afectar la configuración mencionada.


Un saludo,
  #5 (permalink)  
Antiguo 01/07/2004, 18:17
 
Fecha de Ingreso: junio-2001
Mensajes: 13
Antigüedad: 16 años, 6 meses
Puntos: 0
Cluster socorro... una ayudita a mis amigos!!!

Cluster:

Dame una ayuda más, si la aplicación les va a servir a todos los del foro…

Desde ya gracias.

Turco
  #6 (permalink)  
Antiguo 02/07/2004, 08:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. revisastes ya la configuración de tu PHP?

Conoces las restricciones de acceso de archivos/direcctorios que puede tener PHP? .. Eso es lo que debes revisar primero.

Ya te he explicado . .que ciertas funciones de PHP tienen sus restricciones de acceso (y eso es por donde PHP deja los archivos que subes por HTTP que lo define otra directiva de PHP al tema). Por eso mismo te dí una solución: mover el archivo con la función que NO tiene problemas de restricciones y que se usa para ese caso exclusivamente (move_uploaded_file() ..).

Un saludo,
  #7 (permalink)  
Antiguo 03/07/2004, 17:33
 
Fecha de Ingreso: junio-2001
Mensajes: 13
Antigüedad: 16 años, 6 meses
Puntos: 0
Cluster no tiene que ver...

Cluster:

La configuración del php no tiene que ver con el problema, ya que el código que tú expusiste en este foro funciona correctamente. Creo que el problema está en que no sé como incorporar tu código a mi formulario (definir como función al mismo). Tal vez sea una cuestión de las variables.

Te saludo con un abrazo

Última edición por turco; 03/07/2004 a las 17:34
  #8 (permalink)  
Antiguo 05/07/2004, 09:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, .. por mi parte lamentablemente no tengo tiempo para probarlo en su contexto. Esperemos que algún compañero tenga algo de tiempo y predisposición para probarlo y hacerte sus comentarios.

Un saludo,
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 00:47.