文件下载-支持中文文件名

function getTmp(){
    $file_name = ‘orderTemp.xlsx‘;
    $file_path = dirname(__FILE__);
    #判断一下文件是否存在
    if(! file_exists($file_path. ‘/‘ .$file_name)){
        echo "file not exists";
        return;
    }
    #存在的话,只读方式打开
    $fp = fopen($file_name,"r");
    #获取文件大小
    $file_size = filesize($file_name);
    #让下载的文件名是中文
    $file_name = iconv(‘UTF-8‘, ‘gbk‘, ‘订单表格模板.xlsx‘);
    #粘贴头代码
    header("Content-Type: application/octet-stream");
    header("Accept-Ranges: bytes");
    header("Accept-Length: $file_size");
    header("Content-Disposition: attachment; filename=" . $file_name);
    #设定一次读取的字节数
    $buffer = 1024;
    #存储文件到本地
    while(! feof($fp)){
        $file_data = fread($fp,$buffer);
        echo $file_data;
    }
    fclose($fp);
}
时间: 2024-11-08 19:24:07

文件下载-支持中文文件名的相关文章

struts2 实现文件上传下载 (下载支持中文文件名)代码

struts2 实现文件上传: Action 代码: package com.action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import org.apache.struts2.ServletActionContext; import com.o

让Tomcat支持中文文件名

--参考链接:http://blog.chinaunix.net/uid-26284395-id-3044132.html 解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码.Tomcat内置的对于get协议中的URL编码是ISO-8859-1,这个字符集不能直接支持中文等双字节的信息,而中文文件的下载链接恰恰是通过get协议进行的. 打开$tomcat安装目录$/config/

tomcat支持中文文件名下载

Tomcat是Java开发者使用得较多的一个Web服务器,因为它占用资源小,运行速度快等特点,深受Java Web程序员的喜爱.不过,在使用中,由于Java中的中文问题的存在,如果不经过配置,在WEB程序中,不能直接支持具有中文文件名的文件的下载,这为Java Web程序的开发带来一定的不便.本文拟介绍一种手段,解决这个问题. 解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码.

CentOS 7 支持中文文件名显示(未实现)

版本:CentOS 7 1908 参考文档: https://jingyan.baidu.com/article/aa6a2c14a00ec00d4d19c446.html https://www.cnblogs.com/sxdcgaq8080/p/10076459.html#commentform https://www.cnblogs.com/ToBeExpert/p/9716917.html 根据以上文档,总结出以下几点是必须要满足的设置. 1.确认是否安装中文语言包 执行命令:local

nginx 中文文件名显示问题

VPS论坛里已经说过设置方法,不过貌似很多人还是会遇到中文乱码的问题,Apache可以使用mod_encoding支持中文目录和文件,LNMP下Nginx其实不需要安装额外的组件即可支持中文文件名或中文目录,下面说一下常见的CentOS.Debian.Ubuntu Linux发行版下的设置方法和可能会遇到的问题: 设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置.如果显示其他编码需要按如下步骤设置. CentOS: 编辑/etc/syscon

LNMP下Nginx 中文文件名或目录404无法访问的解决方法

貌似很多人还是会遇到中文乱码的问题,Apache可以使用mod_encoding支持中文目录和文件,LNMP下Nginx其实不需要安装额外的组件即可支持中文文件名或中文目录,下面说一下常见的CentOS.Debian.Ubuntu Linux发行版下的设置方法和可能会遇到的问题: 设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置.如果显示其他编码需要按如下步骤设置. CentOS: 编辑/etc/sysconfig/i18n 文件,内容修改为

让Tomcat支持中文路径名和中文文件名

http://hdwangyi.iteye.com/blog/107709 Tomcat是Java开发者使用得较多的一个Web服务器,因为它占用资源小,运行速度快等特点,深受Java Web程序员的喜爱.不过,在使用中,由于Java中的中文问题的存在,如果不经过配置,在WEB程序中,不能直接支持具有中文文件名的文件的下载,这为Java Web程序的开发带来一定的不便.本文拟介绍一种手段,解决这个问题. 解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEnc

关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)

总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Catalina这个名字的由来--等. Tomcat和JVM: 一个Tomcat只会启动一个JVM,所有webapps公用一个JVM进程,所以System.exit()会导致影响同个Tomcat中的其他应用.Tomcat通过调用配置的JDK或JRE来启动JVM. 体系结构: Server:A Server element represents the entire Catalina ser

(转)关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)

转自:http://itfish.net/article/41668.html 总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Catalina这个名字的由来--等. Tomcat和JVM: 一个Tomcat只会启动一个JVM,所有webapps公用一个JVM进程,所以System.exit()会导致影响同个Tomcat中的其他应用.Tomcat通过调用配置的JDK或JRE来启动JVM. 体系结构: Server:A Server el