Задать вопрос
@generate
...

Создать архив, дать пользователю скачать и удалить?

Архив создается так
$zip = new ZipArchive(); 
$zip->open("archive.zip", ZIPARCHIVE::CREATE); 
$zip->addFile("img/1.png", "1.png"); 
$zip->close();


Но когда хочу тот же код что выше добавить в хедер чтобы он скачивался архив скачивается 0 байт, но архив создается нормально скачиваться не хочет. Хотел дать скачать и сразу же удалить unlink("archive.zip");
Но почему то не получаетса можете подсказать как правильно дать скачать ?
header('Content-Disposition: attachment; filename="archive.zip"');
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@VVCh
header('Content-Type: application/octet-stream');
				header('Content-Disposition: attachment; filename="' . $file_zip . '"');
				header('Expires: 0');
				header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
				header('Pragma: public');
				header('Content-Length: ' . filesize($file_zip));
				if (ob_get_level()) ob_end_clean();
				readfile($file_zip);
				exit;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
тогда он должен быть inline, а не attachment + указать заголовки content-length и content-type
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽