php实现文件下载(支持中文名)

复制代码代码如下所示:
/ * ======================================================
文件名是文件名,必须通过。
美元是一个文件路径的文件路径。学生可以是相对路径或绝对路径。
路径只能由英文和数据组成,而不是中文。
====================================================== * /

< PHP
标题(内容类型:文本/ HTML;字符集= UTF-8);
如果(strlen($文件名)< = 3){ echo下载失败:文件下载信息你是错的;回归;}
为文件名= iconv(UTF-8
判断方法
如果(!is_null($路径)strlen($路径)> 1){

如果(substr($路径,0,1)= =/{ / /)确定的绝对路径

路径= { 'document_root _server美元美元美元的}文件路径;

}
如果(substr($听- 1)!=){检查是否结束/结束

路径=美元美元的路径。/;

}
如果(is_numeric(strpos($听)){ / /)检查是否绝对路径

路径= str_replace美元( /

}
} elseif(strlen($路径)= = 1美元的文件路径!=){

路径=美元美元的文件路径。;

其他{ }

路径= 美元;

}
如果(!file_exists($路径。$文件名)){

下载失败:要下载的文件尚未找到;返回;

}
/ * ================================================
发送和下载相关联的标头信息
================================================= * /

标题(内容类型:应用程序/字节流);

标头(接受范围:字节);返回到字节大小

标题(接受长度:$文件大小); / /返回文件大小

标题(内容配置:附件;文件名=文件名);这个客户机弹出对话框,相应的文件名

/ * ================================================
开始下载相关
================================================= * /
文件大小=文件大小(美元美元美元的文件路径,文件名);

文件大小= fopen($路径。$文件名,R); / /打开文件

filebuff = 512美元;

而($文件大小> = 0){

文件大小= filebuff美元美元;

回声fread(文件,filebuff美元);

}

Fclose(文件);
}
>