php 浏览器 兼容,兼容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)載的.
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的php 浏览器 兼容,兼容ie6浏览器的php下载文件代码分享的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php连接中文数据库乱码问题,如何解决p
- 下一篇: 动态规划算法php,php算法学习之动态