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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }?>
Je ne dois pas etre bien loin de la solution...
Merci d'avance pour votre aide
Partager