存档

文章标签 ‘ie’

php下载函数,支持更改保存时的文件名称【修复ie中文乱码问题】

2014年11月12日 没有评论

<?php
//*********文件下载时隐藏文件真实路径,并更改下载文件名的函数**************************
function is_ie() {
$useragent = strtolower($_SERVER[‘HTTP_USER_AGENT’]);
if((strpos($useragent,’opera’)!==false) || (strpos($useragent,’konqueror’)!==false)) {return false;}
if(strpos($useragent,’msie ‘)!==false) {return true;}
return false;
}
function download($file_path,$file_name,$file_type=”application/octet-stream”){
if(!file_exists($file_path)) {return false;}
$content_len=sprintf(“%u”,filesize($file_path));
if (is_ie()) {$file_name=urlencode($file_name);}
else {$file_name=&$file_name;}
while(ob_get_length()!==false) {@ob_end_clean();}
header(‘Pragma: public’);
header(‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s’).’ GMT’);
header(‘Cache-Control: no-store, no-cache, must-revalidate’);
header(‘Cache-Control: pre-check=0, post-check=0, max-age=0’);
header(‘Content-Transfer-Encoding: binary’);
header(‘Content-Encoding: none’);
header(‘Content-type: ‘.$file_type);
header(‘Content-Disposition: attachment; filename=”‘.$file_name.'”‘);
header(“Content-length: $content_len”);
echo file_get_contents($file_path);//这里有return和echo是一样的,不会返回值,只会在这里输出文件
exit();
}
//开始下载
$chk=download(“../upfile/”.$_GET[“url”],$_GET[“title”].strrchr($_GET[“url”],”.”));
?>

分类: php学习 标签: , ,
css.php