兼容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)文章
使用Discuz關(guān)鍵詞服務(wù)器實(shí)現(xiàn)PHP中文分詞
這篇文章主要介紹了使用Discuz關(guān)鍵詞服務(wù)器實(shí)現(xiàn)PHP中文分詞的方法以及代碼實(shí)例,需要的朋友可以參考下2014-03-03在Mac OS上搭建Nginx+PHP+MySQL開(kāi)發(fā)環(huán)境的教程
這篇文章主要介紹了在Mac OS上安裝配置Nginx+PHP+MySQL開(kāi)發(fā)環(huán)境的教程,雖然Mac自帶PHP,但還是要注意一下php-fpm報(bào)錯(cuò)問(wèn)題的發(fā)生,需要的朋友可以參考下2015-12-12Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
這篇文章主要給大家介紹了關(guān)于Laravel ORM對(duì)Model::find方法進(jìn)行緩存的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03PHP中比較兩個(gè)字符串找出第一個(gè)不同字符位置例子
這是一個(gè)在stackoverflow上的問(wèn)題。 給出兩個(gè)長(zhǎng)度相等的字符串,找出這兩個(gè)字符串中第一個(gè)不同的字符位置。2014-04-04詳解Laravel設(shè)置多態(tài)關(guān)系模型別名的方式
這篇文章主要介紹了Laravel 中簡(jiǎn)單設(shè)置多態(tài)關(guān)系模型別名的方式,需要的朋友可以參考下2019-10-10PHP mkdir()無(wú)寫(xiě)權(quán)限的問(wèn)題解決方法
這篇文章主要介紹了PHP mkdir()無(wú)寫(xiě)權(quán)限的問(wèn)題解決方法,對(duì)umask做了詳細(xì)解釋以及mkdir()后沒(méi)寫(xiě)權(quán)限的解決方法,需要的朋友可以參考下2014-06-06php實(shí)現(xiàn) master-worker 守護(hù)多進(jìn)程模式的實(shí)例代碼
這篇文章主要介紹了php實(shí)現(xiàn) master-worker 守護(hù)多進(jìn)程模式的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07