发现原因了,不是smarty的问题,是编码的问题,客户要求程序都是utf-8的,但是要下载的文件可能是其他编码,于是就出问题了,txt文件没问题,word,excel,图片什么的就不行了,各位高手们给帮帮忙啊。

解决方案 »

  1.   

    这样应该没问题
    不过你是xls不要用二进制,就是ms/什么的
    你把这个文件上传就可以取得mime了
      

  2.   

    楼上能说得稍微再详细一些吗?
    你的意思是$file = fopen($file_dir.$file_name,"r"); 
    然后Header("Content-type: application/octet-stream"); 里的Content-type设成取到的mimetype吗?