我發現這個代碼,讓我打開一個窗口,允許用戶下載一個文件(的download.php)PHP:張貼鏈接下載文件
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
它運作良好,以允許用戶從服務器下載文件通過一個彈出窗口,但我有兩個問題:
執行的代碼塊前,我在屏幕上(瀏覽器)一些文本打印。但是,當使用該塊在最後執行.php文件時,屏幕上將不顯示任何內容,並直接進入下載。我如何確保在瀏覽器上打印的內容,然後允許下載文件?
然後,我想也許我會在打印後插入一個鏈接,但是我無法使其工作。當我點擊鏈接下載(href ='download.php')時,返回一個空白屏幕,沒有其他的。
有人能聽到並幫助嗎? TIA!
請注意,無論何時使用'header'函數,它必須在任何輸出發送到瀏覽器之前。標題總是在頁面內容之前發送。 –
哦,所以我需要單獨的頁面..我想出瞭如何使用Javascript創建一個彈出窗口,但我還沒有弄清楚如何在新的彈出窗口上運行PHP腳本。 – musicliftsme
彈出窗口應該打開一個URL到一個單獨的頁面。 –