dmtrbskkv
@dmtrbskkv
Кодим и декодим, а иногда кино смотрим

Почему ZipArchive сначала создавал битые архивы, а потом вообще начал жаловаться на отсутствие доступов?

Пытаюсь зарахивировать файлы. Сначала пробовал напрямую файлы тоскать, а потом просто использовать тестовые файлы через $zip->addFromString. И в том, и в том случае файлы попадали в архив и архив скачивался, только не открывался. Что в винде, что на убунту пишется о том что ошибка в архиве.

Спустя несколько попыток скопипастить код из интернетов, архив перехотел закрываться и начал жаловаться "Warning: ZipArchive::close(): Failure to create temporary file: Permission denied in /var/www/html/actions/file-zip.php on line 9"

Пробовал все возвращать в исходное состояние, но в итоге та самая ошибка с правами. Всё это время работал только с файликом отвечающим за код архива и даже в нем просто писал примеры из доков и менял местами header

Вот последняя попытка:
$zip = new ZipArchive();
$zip_name = "test.zip";

if($zip->open($zip_name, ZipArchive::CREATE) !== TRUE) {
    echo("Zip failed");
} else {
    $zip->addFromString("testfilephp.txt" . time(), "#1 Это тестовая строка добавляется в качестве testfilephp.txt.\n");
    $zip->close();
    if (file_exists($zip_name)) {
        header('Content-Type: application/zip');
        header('Content-disposition: attachment; filename='.time().'.zip');
        header('Content-Length: ' . filesize($zip_name));
        readfile($zip_name);
    } else {
        exit("Could not find Zip file to download");
    }
}
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы