Загрузка .zip файла выполняет поврежденный файл php

Как глупо с моей стороны:

я настраивал {{dump(form.tariffAdjustments.vars)}}, но поскольку я нахожусь в цикле, мне просто нужно было установить: tariffAdjustment.vars.value.id - это идентификатор сущности, которую я искал. ]

14
задан Kiran RS 23 January 2014 в 06:17
поделиться

3 ответа

Эта проблема может иметь несколько причин. Возможно, ваш файл не найден или не может быть прочитан, и поэтому содержимое файла - это просто сообщение об ошибке PHP. Или заголовок HTTP уже отправлен. Или у вас есть какой-то дополнительный вывод, который затем портит содержимое вашего файла.

Попробуйте добавить в ваш скрипт обработку некоторых ошибок, например:

$file='../downloads/'.$filename;
if (headers_sent()) {
    echo 'HTTP header already sent';
} else {
    if (!is_file($file)) {
        header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found');
        echo 'File not found';
    } else if (!is_readable($file)) {
        header($_SERVER['SERVER_PROTOCOL'].' 403 Forbidden');
        echo 'File not readable';
    } else {
        header($_SERVER['SERVER_PROTOCOL'].' 200 OK');
        header("Content-Type: application/zip");
        header("Content-Transfer-Encoding: Binary");
        header("Content-Length: ".filesize($file));
        header("Content-Disposition: attachment; filename=\"".basename($file)."\"");
        readfile($file);
        exit;
    }
}
29
ответ дан 1 December 2019 в 07:06
поделиться

У меня были подобные проблемы для больших zip-файлов, Это работает на меня:

В Вашем php.ini, изменитесь на:

  • Upload_max_filesize - 1 500 M
  • Max_input_time - 1000
  • Memory_limit - 640M
  • Max_execution_time - 1800
  • Post_max_size - 2 000 M

В Вашем php файле.

    $filename = "MyFile.zip";           
    $filepath='../downloads/'.$filename;    //your folder file path    
    header(

У меня были подобные проблемы для больших zip-файлов, Это работает на меня:

В Вашем php.ini, изменитесь на:

  • Upload_max_filesize - 1 500 M
  • Max_input_time - 1000
  • Memory_limit - 640M
  • Max_execution_time - 1800
  • Post_max_size - 2 000 M

В Вашем php файле.

[110]SERVER['SERVER_PROTOCOL'].' 200 OK'); header("Content-Type: application/zip"); header("Content-Transfer-Encoding: Binary"); header("Content-Length: ".filesize($filepath)); header("Content-Disposition:attachment;filename=\"".basename($filepath)."\""); while (ob_get_level()) { ob_end_clean(); } readfile($filepath); exit; ob_start ();
0
ответ дан 1 December 2019 в 07:06
поделиться

Я заставил начать два пива, возникает ошибка PHP, и сообщение об ошибке позабоется запущено ZIP-файл. Запрашиваемый файл, вероятно, не существует.

Откройте ZIP-файл с помощью Notepad или подобным текстовым редактором и узнайте, что не так.

8
ответ дан 1 December 2019 в 07:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: