Téléchargement du fichier .zip exécute un fichier corrompu php

Je suis en train de forcer un téléchargement d'un fichier zip (je ne veux pas que les gens d'y accéder sans avoir à se connecter en premier.

J'ai la fonction créée pour la login et , mais je suis en cours d'exécution dans un problème où le fichier téléchargé est corrupteur.

Voici le code que j'ai:

$file='../downloads/'.$filename;
header("Content-type: application/zip;\n");
header("Content-Transfer-Encoding: Binary");
header("Content-length: ".filesize($file).";\n");
header("Content-disposition: attachment; filename=\"".basename($file)."\"");
readfile("$file");
exit();

Voici l'erreur: Cannot open file: It does not appear to be a valid archive.

Le téléchargement du fichier fine sinon, il doit être quelque chose que je fais mal avec les en-têtes.

Des idées?

source d'informationauteur Troy