2013-07-16 261 views
0

我給PDF的確切文件路徑,PDF也下載沒有任何中斷。但在退出後退出時退出。 PDF不下載沒有發生。退出功能後我正在做一些處理。PHP客戶端瀏覽器下載

header('Content-Description: File Transfer'); 
header('Content-type: application/pdf'); 
header('Content-Disposition: attachment; filename='.$pdf_filename); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 
header('Content-Length: ' . filesize($file)); 
ob_clean(); 
readfile($file); 
session_regenerate_id(); 
exit; 
+2

你不能重新生成這樣的id。它通過重新設置會話ID cookie來工作,並且在執行輸出後,您不能發出新的cookie頭,這是readfile()正在執行的操作。 –

+0

實際上我想在流程中添加此下載。下載後,我將取消鏈接tmp文件和一些sql更新過程。所以在這裏如何實現我的目標。 – Bharanikumar

+0

沒關係。 sess_regen_id使用header()將新ID發送給用戶,並且在執行輸出後這不起作用。 –

回答

0

我相信下面的代碼會爲你工作,但首先刪除退出,然後刷新輸出結束和頂部添加忽略用戶中止,並在沖洗後繼續處理。

ignore_user_abort(true); 
//your code of force download using php readfile 
ob_end_flush(); 
flush(); 
//code after flushing the output 
相關問題