Создание и обслуживание сжатых файлов с помощью php
Я пытаюсь использовать следующий код для создания zip-файла из каталога и предоставления его пользователю через загрузку 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);
Я могу создать zip-файл, но загрузка по http не работает. Если я загружаю zip-файл, созданный с использованием ftp-клиента, Mac Stuffit Expander прекрасно распаковывает файлы, но если я загружаю его по http, Mac unzipper создает бесконечный цикл. Под этим я подразумеваю, скажем, загружаемый файл, который называется course.zip, затем разархивирование файла дает course.zip.cpgz, а разархивирование этого файла снова вызывает course.zip..и еще и еще.
У кого-нибудь есть идеи?
Спасибо!