设置文件下载时有时会要求文件的名称有一定的格式(例如相同的后缀或前缀),那么可以根据不同的浏览器来发送不同的header,如下面代码所示,当在浏览器中点击相应链接时会弹出一个文件下载对话框,文件名为myname.name
$str='helloWorld';
$fileName='myname.name';
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: can-cache");
header("Content-type: application/octet-stream");
$ua = $_SERVER['HTTP_USER_AGENT'];
if(preg_match('/MSIE/',$ua)){
header("Content-disposition: attachment;filename=/"".urlencode($fileName)."/"");
} elseif(preg_match('/FireFox/',$ua)){
header("Content-disposition: attachment;filename*=/"utf-8''".$fileName."/"");
} else {
header("Content-disposition: attachment;filename=/"".$fileName."/"");
}
echo $str;