Bonjour,
je voudrais pouvoir forcer le téléchargement quelque soit le type de fichier à télécharger en PHP. J'ai pour cela utilisé la méthode que j'ai pu trouver sur le site.
J'ai essayé avec plusieurs méthodes pour donner l'adresse du fichier
voici les 2 manières de donner l'adresse du fichier:
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 $full_path = $local; // chemin système (local) vers le fichier $file_name = basename($full_path); ini_set('zlib.output_compression', 0); $date = gmdate(DATE_RFC1123); header('Pragma: public'); header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0'); header('Content-Tranfer-Encoding: none'); header('Content-Length: '.filesize($full_path)); header('Content-MD5: '.base64_encode(md5_file($full_path))); header('Content-Type: application/octetstream; name="'.$file_name.'"'); header('Content-Disposition: attachment; filename="'.$file_name.'"'); header('Date: '.$date); header('Expires: '.gmdate(DATE_RFC1123, time()+1)); header('Last-Modified: '.gmdate(DATE_RFC1123, filemtime($full_path))); readfile($full_path); exit;
Dans le premier cas : J'ai utilisé le chemin complet du fichier (je travail en local sur un répertoire situé à C:/wamp/www/GestionServeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $local = $_SERVER['DOCUMENT_ROOT'] . "/GestionServeur/temp/".$this->name; $local = '../temp/' .$this->name;
Dans le deuxième cas : j'ai utilisé un chemin relatif
Le fichier est ouvert sans proposition de le télécharger via la boite de dialogue.
$this->name représente le nom du fichier et son extension. Le fichier à télécharger est dans le dossier '/www/temp/'.
merci de votre aide.
Partager