Как сделать чтобы код на сервере отрабатывал после захода на header()?

У меня проблема такая, что на локалке у меня нормально проходит код header("Content-Type: $FileMime");
И после него удаляется файл так как надо, но на сервере у меня просходит, что когда доходит до данного header то код просто перестает обрабатывать.
Мой код
/**
     * @param string $path
     * @param string $filename
     * @param string $contentDisposition
     * @return bool
     * @throws Exception
     * @throws \Exception
     */
    public static function DownloadDocument($path, $filename = 'documents', $contentDisposition = 'inline')
    {
        if (!file_exists($path)) {
            throw new \Exception('File ' . $path . ' not found');
        }
        $FileMime = mime_content_type($path);

        // сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт
        if (ob_get_level()) {
            ob_end_clean();
        }
        header("Content-Description: File Transfer");
        header("Content-Type: $FileMime");
        header("Content-Transfer-Encoding: binary");
        header("Content-Length: ".filesize($path));
        header("Content-Disposition: $contentDisposition; filename=$filename." . self::GetExtension($path));
        header("Expires: 0");
        header("Cache-Control: must-revalidate");
        header("Pragma: public");
        readfile($path);
        return true;
    }

    /**
     * @param int $id
     * @return bool
     * @throws Exception
     */
    public static function DocumentStatisticsUtm($id)
    {
        $fileName = $id . '.xlsx';
        $path = Yii::getAlias('@uploads') . '/temp/' . $fileName;
        if (file_exists($path)) {
            self::DownloadDocument($path);
            unlink($path);
            return true;
        }
        return false;
    }

Так не понял почему на разных машинах у меня разное действие. На локалке стоит php7.1, а на сервере 7.3. Это тестовый сервер поэтому такое расхождение в версиях php. Просто если это имеет значение на данную проблему
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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