Hallo,
Mein Code sieht etwa so aus:
$myfile = fopen("work.zip";, "r");
if(!$myfile) die("error.");while (!feof($myfile)) {
$buffer = fgets($myfile, 4096);
#echo $buffer;
}
fclose($myfile);
es ist gar nicht notwendig das file einzulesen. jedenfalls nicht zeilenweisse.
das einzig wichtige dabei ist folgendes:
du mußt dem browser sagen was du ihm sendest, das macht man mit header(); das mußt du aber ausgeben BEVOR du irgendetwas anderes ausgiebst. (also es darf kein ECHO davor kommen :-)
für ein zip file wär das zb.:
header("Content-disposition: filename=$file");
header("Content-type: application/zip");
header("Pragma: no-cache");
header("Expires: 0");
Ich glaube es müsste genügen wenn du es über den file pointer versuchst. Wenn nicht lies die datei einfach in eine Variable ein und giebs über den header aus.
Wie gesagt ungetestet.
lg
Ludwig