兼容ie6瀏覽器的php下載文件代碼分享
PS:這段代碼在win系統(tǒng)下跑沒(méi)有問(wèn)題,楓哥親測(cè)可用.如果用的是linux或是其他系統(tǒng),要要諸位自行測(cè)試下啦.
$filename = "./".$_REQUEST['name']; //這里是楓哥具體路徑,只要$filename是所要下載文件的完整路徑就可以.
if (!is_file($filename)) {//檢測(cè)文件是否存在.
die('下載的文件好像跟TM誰(shuí)私奔啦!');
}
$filepath = str_replace('\\', '/', realpath($filename));
$filesize = filesize($filepath);
$filename = substr(strrchr('/'.$filepath, '/'), 1);
$extension = strtolower(substr(strrchr($filepath, '.'), 1));
// use this unless you want to find the mime type based on extension,文件后綴格式,不解釋.
$mime = array('application/octet-stream');
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.sprintf('%d', $filesize));
header('Expires: 0');
// check for IE only headers,坑爹的IE檢測(cè),你懂的.
if (isset($_SERVER['HTTP_USER_AGENT']) &&((strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)))
{
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
}
else
{
header('Pragma: no-cache');
}
$handle = fopen($filepath, 'rb');
fpassthru($handle);
fclose($handle);
這個(gè)代碼是楓哥從國(guó)外的一個(gè)站點(diǎn)上找到的,親測(cè)可用.度娘出來(lái)的結(jié)果,你懂的.因此在博客上共享出來(lái),希望對(duì)大家有用.國(guó)外的站,地址忘了,沒(méi)有辦法放出,理解下.最后,嚴(yán)肅的聲明下:這個(gè)代碼不是我寫(xiě)的,是轉(zhuǎn)載的.
- php實(shí)現(xiàn)SAE上使用storage上傳與下載文件的方法
- PHP實(shí)現(xiàn)遠(yuǎn)程下載文件到本地
- php實(shí)現(xiàn)圖片文件與下載文件防盜鏈的方法
- php下載文件源代碼(強(qiáng)制任意文件格式下載)
- PHP 下載文件時(shí)自動(dòng)添加bom頭的方法實(shí)例
- 解析如何在PHP下載文件名中解決亂碼的問(wèn)題
- 基于php下載文件的詳解
- php下載文件的代碼示例
- php中強(qiáng)制下載文件的代碼(解決了IE下中文文件名亂碼問(wèn)題)
- php做下載文件的實(shí)現(xiàn)代碼及文件名中亂碼解決方法
- PHP安全下載文件的方法
相關(guān)文章
PHP 數(shù)據(jù)結(jié)構(gòu)隊(duì)列(SplQueue)和優(yōu)先隊(duì)列(SplPriorityQueue)簡(jiǎn)單使用實(shí)例
這篇文章主要介紹了PHP 數(shù)據(jù)結(jié)構(gòu)隊(duì)列(SplQueue)和優(yōu)先隊(duì)列(SplPriorityQueue)簡(jiǎn)單使用實(shí)例,需要的朋友可以參考下2015-05-05
CI框架封裝的常用圖像處理方法(縮略圖,水印,旋轉(zhuǎn),上傳等)
這篇文章主要介紹了CI框架封裝的常用圖像處理方法,涉及針對(duì)圖像的縮略圖、水印、旋轉(zhuǎn)、上傳等操作,需要的朋友可以參考下2016-11-11
ThinkPHP3.1數(shù)據(jù)CURD操作快速入門(mén)
這篇文章主要介紹了ThinkPHP3.1的CURD操作,需要的朋友可以參考下2014-06-06
Laravel中validation驗(yàn)證 返回中文提示 全局設(shè)置的方法
今天小編就為大家分享一篇Laravel中validation驗(yàn)證 返回中文提示 全局設(shè)置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
PHP隨手筆記整理之PHP腳本和JAVA連接mysql數(shù)據(jù)庫(kù)
這篇文章主要介紹了PHP隨手筆記整理之PHP腳本和JAVA連接mysql數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下2015-11-11
PHP實(shí)現(xiàn)AJAX動(dòng)態(tài)網(wǎng)頁(yè)及相關(guān)函數(shù)詳解
ajax其實(shí)是利用javascript向服務(wù)器請(qǐng)求數(shù)據(jù),然后局部修改頁(yè)面,下面這篇文章主要給大家介紹了關(guān)于PHP實(shí)現(xiàn)AJAX動(dòng)態(tài)網(wǎng)頁(yè)及相關(guān)函數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
PHP用正則匹配form表單中所有元素的類(lèi)型和屬性值實(shí)例代碼
這篇文章主要介紹了PHP用正則匹配form表單中所有元素的類(lèi)型和屬性值的方法,文中給出了完整的實(shí)例代碼,大家可以直接參考學(xué)習(xí),下面來(lái)一起看看吧。2017-02-02

