Foros del Web » Programando para Internet » PHP »

archivos en BD

Estas en el tema de archivos en BD en el foro de PHP en Foros del Web. Buenas, He realizado una pequeña aplicacion para guardar documentos en una base de datos. Cuando guardo documentos de menos de 1M no hay problemas pero ...
  #1 (permalink)  
Antiguo 21/05/2004, 04:08
Avatar de juavalga  
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 143
Antigüedad: 20 años, 1 mes
Puntos: 0
archivos en BD

Buenas,
He realizado una pequeña aplicacion para guardar documentos en una base de datos.
Cuando guardo documentos de menos de 1M no hay problemas pero cuando es mas de 1M no los guarda.
En el fichero de configuracion php.ini la variable es "upload_max_filesize = 3M".

Gracias y un saludo.

JUAN
  #2 (permalink)  
Antiguo 21/05/2004, 04:42
 
Fecha de Ingreso: mayo-2004
Ubicación: españa
Mensajes: 45
Antigüedad: 19 años, 11 meses
Puntos: 0
Q clase de datos tienes en la base de datos?
es un medium blob o un blob??
Puede q el problema venga por ahi
ciaoooo
__________________
a por todassss
  #3 (permalink)  
Antiguo 21/05/2004, 05:52
Avatar de juavalga  
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 143
Antigüedad: 20 años, 1 mes
Puntos: 0
RE:

Utilizo mediumblob, pero lo he cambiado tanto a blob como longblob y sigo teniendo el mismo problema.
  #4 (permalink)  
Antiguo 21/05/2004, 06:54
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

De http://dev.mysql.com/doc/mysql/en/BLOB.html :
Cita:
The maximum size of a BLOB or TEXT object is determined by its type, but the largest value you actually can transmit between the client and server is determined by the amount of available memory and the size of the communications buffers. You can change the message buffer size by changing the value of the max_allowed_packet variable, but you must do so for both the server and your client program.
No se si en caso de no poder cambiar la configuracion, se podria solucionar insertar un cacho del fichero y luego en disitntos update concatenar el resto de cachos.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 21/05/2004, 14:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La verdad que ... meter archivos tan pesados en formato binario en tu Mysql es demasiado .. Para estos casos se suele usar más la técnica de simplement quedarte con el nombre del archivo como dato de tu BD y que este lo referencie a su ubicación en el sistema de archivos del servidor ...

Mysql no es de los mejores motores (manejadores) de BD que gestionen mejor ese tipo de campos "pesados" además que "cae" el rendimiento de Mysql ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 26/05/2004, 04:39
Avatar de juavalga  
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 143
Antigüedad: 20 años, 1 mes
Puntos: 0
Pregunta Ruta en la BD

Buenas, he optado por guardar en la BD la ruta del archivo pero no se como hacer que se abra dicho archivo.

$texto="Documentos/".$row["ruta"];
$tipo = mysql_result($result,0,"tipo");
header("Content-type: $tipo");
print $texto;

En Documentos es donde guardo los archivos y "ruta" es el campo donde se guarda el nombre del archivo.

Gracias de nuevo.
  #7 (permalink)  
Antiguo 26/05/2004, 08:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En tal caso .. no sería "print" sino:

Código PHP:
readfile($texto); 
Esa función lee (abre) el archivo y lo entrega al buffer de salida .. Equivaldría a un fopen() y afines + echo $dato que leas ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 06:38.