Tworzenie i serwowanie spakowanych plików za pomocą php
Próbuję użyć następującego kodu do utworzenia pliku zip z katalogu i podania go użytkownikowi za pomocą pobrania http:
// write the file
file_put_contents($path . "/index.html", $output);
// zip up the contents
chdir($path);
exec("zip -r {$course->name} ./");
$filename = "{$course->name}.zip";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' .urlencode($filename));
header('Content-Transfer-Encoding: binary');
readfile($filename);
Mogę utworzyć plik zip, ale pobieranie go przez http nie działa. Jeśli ściągnę plik zip, który został utworzony przy użyciu klienta ftp, to Stuffit Expander Maca rozpakuje pliki w porządku, ale jeśli ściągnę je przez http, rozpakowanie Maca stworzy niekończącą się pętlę. Mówię przez to, że plik, który pobieram, nazywa się course.zip, a następnie rozpakowanie pliku daje course.zip.cpgz i rozpakowanie tego pliku daje course.zip ponownie .. i na i dalej.
Czy ktoś ma jakieś pomysły?
Dzięki!