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 :

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;
        }
Qu'est ce qui cloche ? Pourquoi il est nickel quand je l'uploade via FTP, et vide par readfile() ?