Foros del Web » Programando para Internet » PHP »

recuperar archivos desde carpeta

Estas en el tema de recuperar archivos desde carpeta en el foro de PHP en Foros del Web. Amigos hace poco que realize una función para guardar datos en una carpeta y datos practicos del archivo subido en la base de datos (id,nombre,tipo,peso,etc) ...
  #1 (permalink)  
Antiguo 02/11/2005, 04:39
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
recuperar archivos desde carpeta

Amigos hace poco que realize una función para guardar datos en una carpeta y datos practicos del archivo subido en la base de datos (id,nombre,tipo,peso,etc) ahora he estado averiguando sin resultados ¿cómo puedo listar esos archivos para que sean descargados? algo tipo:

Nombre: Plano.jpg
Peso: 100kb
Descargar

qué funcion podría darme una mano ??...agradecido
  #2 (permalink)  
Antiguo 03/11/2005, 05:22
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Si dices que esos datos los tienes guardados en una BD simplemente consultalos e imprimelos:
Código PHP:
while($rowmysql_fetch_assoc($consulta)) {
      echo 
"Nombre: ".$row['campo_nombre']."<br>";
      echo 
"Peso: ".$row['campo_peso']."<br>";
      echo 
"<a href=\"".row['campo_rutaArchivo']."\">Descargar</a><br><br>";

... hay que ver de qué tipo de archivos de trata para el caso de descargar; si son archivos que no son interpretados por el navegador (.zip, .rar, .etc) la descarga se hara directamente, pero si estos son reconocidos por el navegador (.jpg, .php, .html, .mp3 ...) va a abrirlos, mostrarlos ó reproducirlos automáticamente. Si quieres evitar eso busca un script para forzar la descarga y entonces el enlace quedaría algo como:
Código HTML:
<a href="descargar.php?id=XX">Descargar</a> 
donde el script que te digo estaría en el archivo descargar.php y lo que haría es consultar esa id, extraer su ruta (aunque puedes pasar la ruta directamente) y forzar la descarga.

Para forzar la descarga necesitarás de las funciones header() y readfile() y encontrarás código en los comentarios de dichas funciones, igual busca "forzar descarga" en el foro.

Si tienes problemas mencionalos. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 23/11/2005, 14:57
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
Bueno resucito el post porque ahora toy medio mareado
contextualizando...

1º guardo mis archivos en una carpeta en el server
2º la información como el id,quien subio el archivo,tamaño, nombre y tipo lo dejo en la base de datos.

cuando presento los datos agrego una imagen que sera el link para descargar el archivo ... y es aqui dónde comienzo a perderme, ¿cómo hago para descargar el archivo al cual estoy haciendo referencia, siendo que no esta en la base de datos sino en una carpeta ?...
  #4 (permalink)  
Antiguo 23/11/2005, 15:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
cómo hago para descargar el archivo al cual estoy haciendo referencia, siendo que no esta en la base de datos sino en una carpeta ?...
Cita:
Iniciado por jam1138
... hay que ver de qué tipo de archivos de trata para el caso de descargar; si son archivos que no son interpretados por el navegador (.zip, .rar, .etc) la descarga se hara directamente
Re-explico:Sin son datos que no reconoce el navegador (.zip, .rar, .algoraro) basta con poner un enlace directo al archivo, sacar la ruta de la BD (ó el nombre y armar esa ruta) e imprimirla. Ejemplo:
Código PHP:
 // sacado del código que había dejado antes
echo "<a href=\"".row['campo_rutaArchivo']."\">Descargar</a><br><br>";
/*--- o en su defecto ---*/
echo "<a href=\"ruta/".row['nombre']."\">Descargar</a><br><br>"
Eso si los archivos no son reconocidos... ¿qué pasa con los que sí reconoce como los .jpg, .gif, .pdf, .doc .mp3 ... etc. (que también es dependiendo de la configuración del propio navegador)???
Cita:
Iniciado por jam1138
pero si estos son reconocidos por el navegador (.jpg, .php, .html, .mp3 ...) va a abrirlos, mostrarlos ó reproducirlos automáticamente.
Ok... quieres evitar eso de que se abran. Quieres que tambien sean descargados:
Cita:
Iniciado por jam1138
Si quieres evitar eso busca un script para forzar la descarga y entonces el enlace quedaría algo como:
Código HTML:
<a href="descargar.php?id=XX">Descargar</a>
¿Dónde puedes encontrar ese script?:
Cita:
Iniciado por jam1138
Para forzar la descarga necesitarás de las funciones header() y readfile() y encontrarás código en los comentarios de dichas funciones, igual busca "forzar descarga" en el foro.
... Ok, ya conseguiste un script (tendrá varios "header" y un "readfile"). ¿qué hace?, ¿cómo lo empleo?:
Cita:
Iniciado por jam1138
el script que te digo estaría en el archivo descargar.php y lo que haría es consultar esa id, extraer su ruta y forzar la descarga.
... Ceo fuí claro, al menos contesta tu pregunta. Específicamente ¿en dónde esta la duda? ó ¿tienes problemas concretos?; ¿cuáles?.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 24/11/2005, 15:22
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
Okey Jam gracias por tu tiempo en responder ya todo funco de maravilla. estaba un resto mareado. Vale Man
  #6 (permalink)  
Antiguo 24/11/2005, 15:28
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
¿Todo bien?; maravilloso! .

Quizá, para futuras busquedas, puedas contribuir con el código final .

Saludos
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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:59.