Pobieranie pliku ZIP ZIP

Oto kod, który pobiera pliki załączników z serwera imap. Prawie wszystkie typy plików (pdf, doc, xls itp.) Są pobierane poprawnie, ponieważ niektóre pliki zip powodują następujący błąd:

„Archiwum jest albo w nieznanym formacie, albo uszkodzone”

Kod:

//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;

Również, jeśli echo danych i przekonwertować je do pliku przy użyciu:

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

Plik jest pobierany poprawnie. Dlatego nie ma problemu z uzyskaniem pliku z serwera. Gdzie się mylę?

questionAnswers(7)

yourAnswerToTheQuestion