我正在構建一個PHP應用程序,其中一部分將在用戶提交HTML頁面的最後三頁時導出Excel文件。這需要一段時間來處理,所以在表單提交之前,我會在處理開始之前創建一個帶JavaScript的「請稍候」彈出窗口。然後通過設置以下下載文件後重定向的問題
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $fileName . '.xls' .'"');
header('Cache-Control: max-age=0');
我有這個問題的頭創建的文件並下載用戶的機器上,就是我那麼需要將用戶重定向到表單的第一頁。我無法回顯javascript location.href調用,因爲在此之前內容類型已經被更改,所以它永遠不會屏幕顯示。出於同樣的原因,我也不能使用標準的PHP頭('Location:x')重定向。
我的問題是,在以上述方式將輸出轉移到文件之後,我該如何將輸出回到屏幕以回顯JavaScript重定向,或者以其他方式將用戶重定向到新頁面?
一如既往,任何幫助,非常感謝。
詹姆斯
你不能做到這一點。一個請求=一個響應。如果請求是「給我那個文件」,你不能發送該文件和一些額外的東西。 這不是PHP的問題,而是HTTP的工作方式。 –
請參閱鏈接 http://stackoverflow.com/questions/822707/php-generate-file-for-download-then-redirect –