Bonjour à tous,
Grâce à ZipArchive() je génère un dossier zippé sur le serveur puis l'envoie au téléchargement.
Il est parfait sur le serveur, mais une fois téléchargé via readfile(), il est vide !
Voici mon code :
Qu'est ce qui cloche ? Pourquoi il est nickel quand je l'uploade via FTP, et vide par readfile() ?
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 $zip = new ZipArchive(); $filename = $nom_dossier.'.zip'; $zip_file = WP_CONTENT_DIR .'/uploads/dossiers/zips/'.$filename; $files = $wpdb->get_results("SELECT * FROM dossiers_pota_fichiers WHERE id_dossier=$id_dossier"); if($zip->open($zip_file, ZipArchive::CREATE) === true) { foreach($files as $file){ $fichier = ABSPATH.'wp-content/uploads/dossiers/999/'.$nom_dossier.'/'.basename($file->file); if(file_exists($fichier)){ $zip->addFile($fichier,basename($file->file)); } } $zip->close(); } if (file_exists($zip_file)) { header('Content-Description: File Transfer'); header('Content-Type: application/zip'); header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($zip_file)); readfile($zip_file); exit; }
Partager