Foros del Web » Programando para Internet » PHP »

como filtrar archivos guardados en el servidor y descargarlos

Estas en el tema de como filtrar archivos guardados en el servidor y descargarlos en el foro de PHP en Foros del Web. Tengo una base de datos con tablas de maestros, alumnos, materias y archivos entre otras. Lo que quiero saber es como hago para jalar los ...
  #1 (permalink)  
Antiguo 01/10/2004, 10:09
 
Fecha de Ingreso: septiembre-2004
Mensajes: 11
Antigüedad: 19 años, 6 meses
Puntos: 0
Sonrisa como filtrar archivos guardados en el servidor y descargarlos

Tengo una base de datos con tablas de maestros, alumnos, materias y archivos entre otras. Lo que quiero saber es como hago para jalar los archivos del servidor a través de la base de datos porque los archivos que se presenten en pantalla tienen que ser los que correspondan a las materias que el alumno cursa y asi mismo al maestro le debo presentar las materias que imparte para que suba los correspondientes archivos, bueno en esta parte no tengo tanto problema, pero si en lo de los alumnos porque como ya mencione nose como hacer para que "filtrar" los datos, o sea que debo guardar del archivo en a base de datos, tengo la idea de que debe ser la ruta de donde se guardo, pero he ahi otro problema porque no se si deba gurdarlos en carpetas separadas en cuanto a maestro y/o materia.

Si alguien pudiera ayudarme se lo agradeceria muchisimo.
  #2 (permalink)  
Antiguo 01/10/2004, 12:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si vas a usar Base de datos .. donde guardes (o que estructura le des a tus archivos nombre/carpeta de ubicación) .. realmente dá lo mismo, pues va a ser tu BD la que lleve ese control de que registro relaciona a ese archivo.

Sobre como gestionar "archivos" en tu BD .. tienes dos opciones:
1) guardar sólo la referencia del nombre del archivo
2) guardar el archivo completamente en binario en la BD

La primera opción es la más simple y la que suele dar mejores resultados en la mayoría de casos.

Ahora .. lo que no describes es "donde está ese archivo" .. si no está ya en el servidor o no sube por médio de PHP tendrás que hacer el correspondiente proceso de "Upload" donde ahí mismo será donde crees ese registro en tu BD y le des el nombre del archivo al campo que corresponda bajo tu INSERT/UPDATE habitual y muevas tu archivo hacia su destino definitivo.

Un saludo,
  #3 (permalink)  
Antiguo 01/10/2004, 12:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Se me olvidó ..

Una tercera opción .. sería guardar como nombre de archivo algún dato relacionado y único de tu registro de tu BD .. algo como el "ID" de ese registro de tu alumno/profesor o .. "código" o similar (que no se repita: que sea único) ..

Personalmente me gusta la primera opción .. guardarme en mi BD el nombre del archivo relacionado.

Un saludo,
  #4 (permalink)  
Antiguo 01/10/2004, 13:00
 
Fecha de Ingreso: septiembre-2004
Mensajes: 11
Antigüedad: 19 años, 6 meses
Puntos: 0
Sonrisa como indico la ruta para descargar un archivo

Gracias por la respuesta!
En cuanto en "donde esta el archivo", ya lo tengo en el servidor,ahora el asunto es ¿qué guardo en la base de datos?, solo el nombre del archivo u otras características como: tamaño y tipo.
Por otro lado cuando presente los archivos por materia éstos serán hipervinculos y cuando el usuario de clic en él cómo indico la ruta de la cual se descargará . Perdon por tantas dudas pero creo que me estoy haciendo esto muy dificil, en fin te agradecería que me contestaras. Bye
  #5 (permalink)  
Antiguo 01/10/2004, 13:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Con el nombre del archivo sobra .. ahora, si quieres guardar el tamaño y tipo (formato MIME) te ayudará para hacer gestores de descargas.

Cita:
Por otro lado cuando presente los archivos por materia éstos serán hipervinculos y cuando el usuario de clic en él cómo indico la ruta de la cual se descargará.
En principio tan sólo con links tipo:

Código PHP:
<a href="http://www.tal.tal/archivos/<? echo $row['archivo'?>">bajar</a>
o con ruta relativa ../archivos o donde estén.

Pero, lo normal es que hagas un gestor de descargas, donde será PHP el que lea tu achivo de la ruta absoluta del servidor y lo entregue para descargar (así no desvelas ni la ruta donde estén tus archivos).

Ese tipo de gestores de descargas se basan en las funcioines header() y parte del protocolo HTTP para indicar que el dato que se va a enviar ese para descargar (para que así lo interprete el navegador) y la función readfile() o similar para leer tu archivo de su ruta física y entregarlo al buffer de salida de PHP.

Estos sistemas ya los tienes más que reinventados .. puedes verlos en sitios como:
www.hotscripts.com

Un saludo,

Última edición por Cluster; 01/10/2004 a las 13:50
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 17:30.