Téléchargement d'un fichier via PHP & MySQL
Bonjour à tous,
Je suis débutant en PHP et je n'arrives pas à télécharger un fichier.
Je m'explique, j'ai une table qui référence chaque fichier uploadé (nom,chemin,id). J'ai crée une page PHP qui prend la valeur du GET, intérroge la base de données et télécharge le fichier correspondant.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <?php
require "ressources\connexion_db.php";
if($_GET["id"]) {
ob_clean(); // Vide le buffer (v >= 4.2)
_connect();
$sqlRequest = "SELECT chemin, nom_fichier FROM `test`.`fichier`
WHERE id = '".$_GET["id"]."'
;";
$res = mysql_query($sqlRequest)or die("Erreur");
while($data = mysql_fetch_array($res)){
echo $data['chemin']; // Affiche : http://monsite.fr/un/dossier/
echo $data['nom_fichier']; // Affiche : nomdefichier.doc
}
_disconnect();
// Dialogue de téléchargement
header("Content-Disposition: attachment; filename=".$data['nom_fichier']);
header("Content-Type: application/force-download");
header("Content-Length: ".filesize($data['chemin'] . $data['nom_fichier']));
header("Content-Transfer-Encoding: fichier\n");
flush(); // Envoie le buffer
readfile($data['chemin'].$data['nom_fichier']); // Envoie le fichier
}?> |
Le problème est que cela un fichier nommé "download.php" avec le chemin et le nom du fichier que je souhaite télécharger.
Je ne dois pas etre bien loin de la solution...
Merci d'avance pour votre aide