PHP xlsx header

так что это работает:

myphpfile.php:

<code><?php
header('Content-disposition: attachment; filename=myfile.pdf');
header('Content-type: application/pdf');
readfile('myfile.pdf');
?> 
</code>

этот php файл вызывается здесь, и загрузка в PDF работает нормально:

<code><a class = "oglasavanje" href = "../../cjenik/myphpfile.php">download</a><br/>
</code>

но это не работает:

<code><?php
header('Content-disposition: attachment; filename=myfile.xlsx');
header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
readfile('myfile.xlsx');
?>
</code>

оба файла .pdf и .xlsx находятся в одной папке. Когда я нажимаю на кнопку «скачать» Появится окно загрузки ссылок, я сохраню файл, но файл не может быть открыт. Это дает мне следующую ошибку:

Excel cannot open the file 'myfile.xlsx' because the file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file.

Файл открывается нормально, когда я открываю его вручную (то есть, не загружая его по ссылке)

Я использую WAMP, если это важно.

Любая помощь приветствуется.

--- РЕДАКТИРОВАТЬ ---

Я нашел этот фрагмент кода на php.net:

<code>ob_clean();
flush();
</code>

итоговый код выглядит следующим образом:

<code>$file = "myfile.xlsx";
header('Content-disposition: attachment; filename='.$file);
header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Length: ' . filesize($file));
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: public');
ob_clean();
flush(); 
readfile($file);
</code>

Спасибо всем за ответы.

Ответы на вопрос(3)

Ваш ответ на вопрос