使用PHP強制下載PDF文件示例
更新時間:2014年01月17日 16:15:09 作者:
當(dāng)需要下載一個PDF文件時,如果不經(jīng)處理會直接在瀏覽器里打開PDF文件,然后再需要通過另存為才能保存下載文件,下面通過PHP來實現(xiàn)直接下載PDF文件
我們有時會遇到這樣一種情況,當(dāng)需要下載一個PDF文件時,如果不經(jīng)處理會直接在瀏覽器里打開PDF文件,然后再需要通過另存為才能保存下載文件。本文將通過PHP來實現(xiàn)直接下載PDF文件。
實現(xiàn)原理:我們僅僅只需要修改頁面HTTP頭,把Content-Type設(shè)置為force-download,問題即可解決。
請看代碼:
forceDownload("pdfdemo.pdf");
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);;
}
為了方便,我寫了一個函數(shù)forceDownload(),然后通過調(diào)用該函數(shù)即可。
實現(xiàn)原理:我們僅僅只需要修改頁面HTTP頭,把Content-Type設(shè)置為force-download,問題即可解決。
請看代碼:
復(fù)制代碼 代碼如下:
forceDownload("pdfdemo.pdf");
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);;
}
為了方便,我寫了一個函數(shù)forceDownload(),然后通過調(diào)用該函數(shù)即可。
相關(guān)文章
深入解讀php中關(guān)于抽象(abstract)類和抽象方法的問題分析
這篇文章主要介紹了php中關(guān)于抽象(abstract)類和抽象方法的問題分析,有需要的朋友可以參考一下2014-01-01php獲取四位字母和數(shù)字的隨機(jī)數(shù)的實現(xiàn)方法
這篇文章主要介紹了php做程序開發(fā)的過程中,我們很多時候會在登錄界面或者評論界面做一些四位數(shù)的驗證碼,需要的朋友可以參考下2015-01-01學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗】
這篇文章主要介紹了學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗】,需要的朋友可以參考下2016-05-05PHP寫入WRITE編碼為UTF8的文件的實現(xiàn)代碼
可以把uft-8格式的文件,寫到文本中的實現(xiàn)代碼2008-07-07PHP實現(xiàn)給定一列字符,生成指定長度的所有可能組合示例
這篇文章主要介紹了PHP實現(xiàn)給定一列字符,生成指定長度的所有可能組合,涉及PHP數(shù)組遍歷、數(shù)值運算相關(guān)操作技巧,需要的朋友可以參考下2019-06-06