![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
13/10/2005, 09:42
|
![Avatar de c4r1o5](http://static.forosdelweb.com/customavatars/avatar91401_1.gif) | | | Fecha de Ingreso: febrero-2005
Mensajes: 81
Antigüedad: 20 años Puntos: 1 | |
Este codigo te servirá, necesitas la variable que contiene el identificador del archivo y pasarla por medio del link. Nótese que yo lo hago con interbase, pero lo unico que tendrías que hacer es cambiar las funciones ibase por sus correspondientes en MySQL. Código PHP: // Se conecta a la base de datos $dbh=conectar(); // Establece la consulta $query="SELECT file_pointer,nombre,tipo FROM ARCHIVOS WHERE id_file=".$_REQUEST['ident']; // Se realiza la consulta $result=ibase_query($dbh,$query); // Valida si la consulta fue exitosa if (!$result) { echo "No se puede realizar la consulta"; } else { // Se crea una variable que obtiene la tupla obtenida $data=ibase_fetch_row($result); // Se obtiene la longitud del blob $blob_data=ibase_blob_info($data[0]); // Se crea un manejador para el apuntador del blob $blob_hndl=ibase_blob_open($data[0]); // Se obtiene el contenido del blob $archivo=ibase_blob_get($blob_hndl,$blob_data[0]); // Se cierra el blob ibase_blob_close($blob_hndl); $tipo=$data[2]; $nombre_arch=$data[1]; // Si se mantiene la sentencia "attachment" se forza la descarga // del archivo, de otro modo, si es un MIME conocido, el navegador // interpreta el archivo header("Content-Disposition: attachment; filename=\"$nombre_arch\""); header("Content-type: $tipo"); header("Content-Length: $blob_data[0]"); // Se manda el codigo binario del blob al navegador echo $archivo; } // Se desconecta de la base de datos desconecta(); ?>
__________________ ¿Que importa el resto?, el resto es simplemente la humanidad, hay que ser superior a humanidad, por fuerza, por altura de alma, por desprecio ... |