PHP 附件形式的下载
当下载需要用户登录验证权限、并且可以自定义下载的文件名等情况下需要以附件形式下载文件,代码如下:
(由于 poor IE 的特殊性,需要做特别处理)
header("Content-type: application/octet-stream");
$isIE and $filename = mb_convert_encoding( $filename, 'GBK' , 'UTF-8' ); # IE 不认识UTF-8的中文文件名,所以转换为GBK编码
header('Content-Disposition: attachment; filename="'.$filename.'"'); # 备注: 文件名要做安全过滤,防止跨站攻击
echo file_get_contents($filepath);
一个IE7的页面字符集meta标签设置问题
发表于: Web | 2009年02月09日
以UTF-8(无BOM格式编码)保存了一个网页,文档类型声明为XHTML1.1,并且添加了Content-Type的meta标签:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
用IE7打开发现空白一片,右键查看了一下原来是字符集编码被设置成默认的GB2312,改成UTF-8就正常了,但是重新打开又会变成空白,用FF3打开显示正常,百思不得其解,后来经过反复调整,发现把字符集设置的meta标签放在title标签前面就显示正常,放在title标签后面就显示空白,秉承了IE一贯的怪异风格
未在其他版本IE中进行测试
