文件下载的问题,急!

kingssman 2007-10-23 03:45:40
相同的程序,直接写php文件就没问题,但是使用smarty以后下载下来的文件内容就全都是乱码了,请问是为什么啊,程序如下,文件是写死的,内容是日文,多谢大家了。
<?php
$file_name = "1.xls";
$file_dir = "C:/phptest/";
//check file exist
if (!file_exists($file_dir.$file_name)){
echo $file_dir.$file_name;
echo "no such file.";
exit;
}else{
$file = fopen($file_dir.$file_name,"rb");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir.$file_name));
Header("Content-Disposition: attachment; filename=".$file_name);
echo fread($file,filesize($file_dir.$file_name));
fclose($file);
exit;
}
?>
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingssman 2007-10-26
  • 打赏
  • 举报
回复
楼上能说得稍微再详细一些吗?
你的意思是$file = fopen($file_dir.$file_name,"r");
然后Header("Content-type: application/octet-stream"); 里的

Content-type设成取到的mimetype吗?
uuq 2007-10-25
  • 打赏
  • 举报
回复
这样应该没问题
不过你是xls不要用二进制,就是ms/什么的
你把这个文件上传就可以取得mime了
kingssman 2007-10-25
  • 打赏
  • 举报
回复
发现原因了,不是smarty的问题,是编码的问题,客户要求程序都是utf-8的,但是要下载的文件可能是其他编码,于是就出问题了,txt文件没问题,word,excel,图片什么的就不行了,各位高手们给帮帮忙啊。
hzl126 2007-10-23
  • 打赏
  • 举报
回复
PHP QQ群15771135

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧