RELATEED CONSULTING
相關咨詢
選擇下列産品馬上(shàng)在線溝通(tōng)
服務時(shí)間(jiān):9:00-18:00
你(nǐ)可(kě)能遇到了下面的問題
關閉右側工具欄
使用PHP強制(zhì)下載PDF文件
  • 作(zuò)者:admin
  • 發表時(shí)間(jiān):2013-07-02 14:17:17
  • 來(lái)源:未知

我們有(yǒu)時(shí)會(huì)遇到這樣一種情況,當需要下載一個(gè)PDF文件時(shí),如果不經處理(lǐ)會(huì)直接在浏覽器(qì)裏打開(kāi)PDF文件,然後再需要通(tōng)過另存為(wèi)才能保存下載文件。本文将通(tōng)過PHP來(lái)實現直接下載PDF文件。

實現原理(lǐ):我們僅僅隻需要修改頁面HTTP頭,把Content-Type設置為(wèi)force-download,問題即可(kě)解決。請(qǐng)看代碼:

forceDownload("static/file/TOOL");
function forceDownload($filename) {

	if (false == file_exists($filename)) {
		return false;
	}
	
	// http headers
	header('Content-Type: application-x/force-download');
	header('Content-Disposition: attachment; filename="' . basename($filename) .'"');
	header('Content-length: ' . filesize($filename));

	// for IE6
	if (false === strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) {
		header('Cache-Control: no-cache, must-revalidate');
	}
	header('Pragma: no-cache');
		
	// read file content and output
	return readfile($filename);;
}

為(wèi)了方便,我寫了一個(gè)函數(shù)forceDownload(),然後通(tōng)過調用該函數(shù)即可(kě)。請(qǐng)點擊這裏看演示DEMO。