Я пытаюсь использовать следующий код, чтобы создать почтовый файл из каталога и служить его пользователю через HTTP загрузки:Создание и обслуживание сжатых файлов с PHP
// 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-клиента, то Stuffit Expander от Mac распаковывает файлы просто отлично, но если я загружу его через http, mac unzipper создаст бесконечный цикл. Я имею в виду, что файл, который я загружаю, называется course.zip, а затем распаковка файла дает course.zip.cpgz и распаковку этого файла дает course.zip снова .. и так далее.
У кого-нибудь есть идеи?
Спасибо!
Ваш тип пантомимы приложения/октет потока не является неверной, но это может быть дружелюбнее использовать приложение/почтовый индекс. –
@ Тони Миллер - почему бы не поставить это как ответ? Здесь может быть проблема. – karim79
Как сделать «на лету zipping и streaming» от php: http: // stackoverflow.com/a/4357904/416630 – Lee