Bonjour
J'essaye de mettre en place une fonction de téléchargement de fichier vidéo.
l'utilisateur vient d'un formulaire ou il coche ce qu'il veut télécharger.
chaque checkbox à la valeur de l'id de la video ds la table.
je récupère ces données dans un tableau et je déclenche le download
comme ceci.
tout se passe bien sauf que le download se produit uniquement sur le premier fichier et plus rien
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
28
29
30
31
32
33
34
35
36
37 <?php include 'base.php'; foreach($_POST as $cle => $valeur){ $sql="select * from caddie where idcaddie='$valeur'"; $resultat1 = mysql_query($sql) or die(mysql_error()); while ($dwn =mysql_fetch_array ($resultat1)){ $rush=$dwn[rush]; $fichier=$dwn[fichier]; $dossiervideo='videos/'.$rush.'/'.$fichier; $full_path =$dossiervideo; // 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-type: application/force-download"); 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