Проблемы с принудительной загрузкой PDF-файла - PullRequest
0 голосов
/ 24 января 2011

У меня есть следующая функция для принудительной загрузки файла:

static public function download($file, $options=array()) {
    $content = (isset($options['content'])) ? $options['content'] : '';
    $contentType = (isset($options['contentType'])) ? $options['contentType'] : '';
    header('Cache-Control: public');
    header('Content-Description: File Transfer');
    header('Content-Disposition: attachment; filename='.File::filename($file));
    header('Content-Type: '.$contentType);
    header('Content-Transfer-Encoding: binary');
    if ($content!='') {
        echo $content;
    } else {
        readfile($file);
    }
}

Я отправляю файл PDF и contentType = "application / pdf". проблема в том, что когда я пытаюсь открыть загруженный файл PDF, появляется сообщение «Произошла ошибка при открытии этого документа. Возможно, файл поврежден». Это странно, потому что я могу открыть исходный файл, и они выглядят точно так же (имя файла, размер и т. Д.)

1 Ответ

1 голос
/ 24 января 2011

Убедитесь, что нет выхода до запуска этой функции, и для правильной меры используйте конструкцию exit в конце этой функции:)

...