PHP ZIP-Datei herunterladen

Hier ist ein Code, der Anhangsdateien vom imap-Server herunterlädt. Fast alle Dateitypen (pdf, doc, xls usw.) werden korrekt heruntergeladen, wobei einige ZIP-Dateien den folgenden Fehler verursachen:

"Das Archiv hat entweder ein unbekanntes Format oder ist beschädigt."

Code:

//data from imap server
$name = "xyz 123.zip";
$type = "APPLICATION";
$subtype = "ZIP";
$encoding = "BASE64";
$body = imap_base64($data);

header('Content-Description: File Transfer');
header('Content-Type: '. $type .'/'. $subtype);
header('Content-Disposition: attachment; filename='.$name);
header('Content-Transfer-Encoding: '.$encoding);
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
ob_clean();
flush();
echo $body;

Auch wenn ich die Daten wiederhole und sie in eine Datei konvertiere, mit:

http://www.motobit.com/util/base64-decoder-encoder.asp

Die Datei wird korrekt heruntergeladen. Daher kein Problem beim Abrufen der Datei vom Server. Wo gehe ich falsch?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage