Bonjour,
après avoir eu du mal à "nettoyer" un répertoire, avoir eu du mal à lire le contenu, j'ai du mal à forcer le téléchargement de son contenu. Voilà ce que je fais, mais le téléchargement provoque pleins de warnings, dont voici le premier :et mon code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Warning: filesize() [function.filesize]: Stat failed for bounce.gif (errno=2 - No such file or directory) in /homez.309/villardd/www/maj/restaurer/telecharger.php on line 15et telecharger.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if ($handle = opendir('../sauvegarder/archive')) { while (false !== ($file = readdir($handle))) if (($file!='.')&&($file!='..')) { echo '<a href="telecharger.php?nom_file='.$file.'">'.$file."</a><br>"; }}On va bien dans le lien qui doit télécharger, mais c'est là que ça bugue. Pourquoi ?
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 <?php $nom_file=$_GET['nom_file']; // code pour forcer un téléchargement $full_path =$nom_file; $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; // nécessaire pour être certain de ne pas envoyer de fichier corrompu ?>
Partager