Я хочу принудительно загрузить файл 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 (), я получаю сгенерированный вывод, видимый на экране, без каких-либо ошибок.
В основномоткрывается правильный файл, содержимое файла генерируется правильно, но установка заголовков останавливает выполнение скрипта и выдает ошибку.