Bonjour,

Je souhaite faire un download de plusieurs fichiers pdf à travers une boucle foreach.
J'ai le code qui permet de le faire pour un seul fichier à partir du header:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
$file = $this->getContentFile(); //renvoie le content stream
$filename = ...;
 header("Content-Type: application/pdf");
 header("Content-Disposition: attachement; filename=\"$filename\"");
 header("Pragma: no-cache");
 header("Expires: 0");
 echo $file;
pour un seul fichier ça marche bien, j'ai une fenêtre qui permet de faire le downolad..pour plusieurs fichiers j'essaie de créer un zip:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
$zipname = 'myarchive.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));       
readfile($zipname);
foreach ($files as $file){
$zip->addFile($file);  
}
$zip->close();
le problème c'est que mon $file, ne représente pas le chemin vers le fichier, c'est le contenu du fichier. Je ne peux pas récupérer le path, ces fichiers viennent d'une appli externe et j'ai pas trop la main dessus..
j'ai essayé aussi avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$zip->addFromString($zipname, file_get_contents($file));
mais ça ne marche pas non plus...le contenu du zip est vide!!

est-ce que vous auriez une solution?
Merci!!