[讨论] 中文档名下载问题!字符数多寡有影响?

楼主: kingoface (Vince)   2014-04-21 09:28:11
各位好
小弟的程式码如下
非常制式的下载程式
<?php
if($_GET['f']!=null){
$file=iconv('utf-8','big5',$_GET['f']);//档案名称
$url="upload/"; //路径位置
header("Content-type:application");
header("Content-Disposition: attachment; filename=".$file);
readfile($url.str_replace("@","",$file));
exit(0);
}else{
echo "找不到相关档案....";
}
?>
因为存进去server的时候,使用者要求一定要用中文...
所以也就只好存中文,
结果发现要下载的时候.
如果中文字超过6个字会无法正常显示.
下载的档案会变2kb.
若是6个字符以内就非常正常可以开启.
请问这是什么原因呢?
作者: DarkKiller (System hacked)   2014-04-21 09:37:00
作者: npulove (18250等待)   2014-04-21 10:15:00
路径对吗!? is_file检查一下是不是有档案吧!我自己测试很正常,你描述的状况只有在无档案发生。
作者: finalodyssey (Odyssey)   2014-04-21 10:33:00
一般会用档名存数据库,档案用纯英数字符的方式,下
作者: MOONRAKER (㊣牛鹤鳗毛人)   2014-04-21 10:34:00
这种档名不是要用mb_encode_mimeheader()吗
作者: finalodyssey (Odyssey)   2014-04-21 10:34:00
载时在重新命名还原档名就好了
作者: CaptainH (Cannon)   2014-04-21 14:00:00
把 '@' 取代掉的原因是什么?
作者: CharlesJiang   2014-04-21 17:41:00
一楼正解,通常IE有问题,其他browser是ok的

Links booklink

Contact Us: admin [ a t ] ucptt.com