Этот сайт не может быть достигнут / код состояния 404 после установки заголовков в PHP - PullRequest
0 голосов
/ 02 марта 2019

Я хочу принудительно загрузить файл xlsx, который генерируется динамически в файле payment-exports.php.

Проблема заключается в том, что, если я устанавливаю заголовки, используя функцию header (), которую я получаю, этот сайт может 'Ошибка не достигнута, в инструментах разработчика отображается состояние 404.

Этот якорный элемент, который инициирует загрузку файла, находится в admin-dash.php:

<a href="<?php echo esc_url( project_name_get_permalink( 'admin- 
dash/payments-export/' ) . $endpoint_part ); ?>" class=""><?php 
esc_html_e( 'Export to .xls', 'project_name' ); ?></a>

Payment-export.php-файл (под-точка admin-dash):

// this is at the top of the file
die('test');
header('Content-Type: application/vnd.openxmlformats- 
officedocument.spreadsheetml.sheet');
header( 'Content-Description: File Transfer' );
header( 'Content-Disposition: attachment; filename="test.xlsx"' );

//die('test2');
// I cant see "test2" if I uncomment it and remove the first die function

// generate the file
....
$writer->writeToStdOut();

exit();

Я вижу тестовое отображение на моем экране нормально, но когда я удаляю его, я получаю

Этот сайтневозможно достичь

Если я полностью удаляю функции die () и header (), я получаю сгенерированный вывод, видимый на экране, без каких-либо ошибок.

В основномоткрывается правильный файл, содержимое файла генерируется правильно, но установка заголовков останавливает выполнение скрипта и выдает ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...