Created
July 30, 2014 15:22
-
-
Save alvaroveliz/34ff1d09cc3373e266db to your computer and use it in GitHub Desktop.
Buscar archivo en DB y forzar descarga
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
Ejemplo codigo para descarga de archivos. | |
Uso : <a href="descarga.php?id=5">...</a> | |
Buscará en DB el archivo en la DB y luego enviará la descarga | |
**/ | |
/* Configuración DB */ | |
$dbname = 'nombre_de_base_de_datos'; | |
$user = 'user_base_de_datos'; | |
$pass = 'pass_base_de_datos'; | |
/* Conectando */ | |
$dsn = 'msyql:host=localhost;port:3306;dbname='.$dbname; | |
$dbh = new PDO($dsn, $user, $pass); | |
/* Asumiendo que la tabla se llama archivos, se prepara la query. Los "?" se reemplazarán posteriormente */ | |
$query = 'SELECT * FROM archivos WHERE id = ?'; | |
$sth = $dbh->prepare($query); | |
/* Se ejecuta la query, enviando como primer parámetro 'id' */ | |
$id = $_GET['id']; | |
$sth->execute(array($id)); | |
/* Se obtiene el resultado */ | |
$archivo = $sth->fetchAll(); | |
/* Asumiendo que el resultado contiene id y path del archivo se procede a enviar el archivo para descarga */ | |
$archivo = '/directorio/fisico/exacto/'. $archivo; | |
header('Content-Type: application/octet-stream'); | |
header("Content-Transfer-Encoding: Binary"); | |
header("Content-disposition: attachment; filename=\"" . basename($archivo) . "\""); | |
readfile($archivo); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment