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(文件);
}
>