Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/12/2005, 09:29
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
En ese caso .. haz tu consulta SQL a tu BD para obtener ese nombre de archivo para ese registro .. algo tipo:

descargar.php
Código PHP:
<?
// conecta a tu BD .. etc ..
$sql="SELECT nombre_archivo FROM archivos WHERE id_registro='".$_GET['id_registro']."'";
$result=mysql_query($sql) or die (mysql_error());
$nombre_archivo=mysql_result($result,0,"nombre_archivo");

// Compon tus cabeceras HTTP para enviar el archivo según el tipo que sea este:
// Almacenas en tu BD el formato MIME de tu archivo que subistes? .. Sería lo ideal.

// Ejemplo para un documento tipo pdf:
// Enviaremos un PDF
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.basename($nombre_archivo).'"');

// Con basename() nos quedamos con el nombre sólo del archivo (por si tuviese ruta incluida. El "filename" de la cabecera HTTP "content-disposition" define el nombre del archivo que se te será ofrecido en su descarga.
// No tiene nada que ver con el nombre del archivo original .. aunque suele uno hacerlos coincidir.

// y entregas el archivo al buffer de salida previa lectura del mismo de tu sistema de archivos. Todo esto lo puedes hacer con la función:
readfile($nombre_archivo); // añade tu ruta si corresponde al nombre del archivo ...
?>
Y lo usarías generando links hacia ese script (que ha de trabajar de forma individual tal cual .. no añadas NADA de HTML ni otras salidas al mismo):

Código PHP:
<a href="descargar.php?id_archivo=n°">descargar archivo</a
Un saludo,