本节内容:
php文件下载实例,解决中文文件名乱码的问题。
例子:
复制代码 代码示例:
/**
* php文件下载代码,中文无乱码
* by www.jbxue.com
*/
$file = "/tmp/中文名.tar.gz";
$filename = basename($file);
header("Content-type: application/octet-stream");
//处理中文文件名
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
if (preg_match("/MSIE/", $ua)) {
header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else if (preg_match("/Firefox/", $ua)) {
header("Content-Disposition: attachment; filename*=\"utf8''" . $filename . '"');
} else {
header('Content-Disposition: attachment; filename="' . $filename . '"');
}
header('Content-Disposition: attachment; filename="' . $filename . '"');
header("Content-Length: ". filesize($file));
readfile($file);
另外,有兴趣的朋友,可以研究下apache服务器中的module mod_xsendfile模块,可以用它来提高PHP发送文件的效率。
您可能感兴趣的文章:
一个简单的php文件下载函数
php实现文件下载功能的简单例子
一个不错的PHP文件下载类
php实现文件下载的代码
php 强制文件下载的实现代码一例
php 文件下载类(header头信息的应用实例)
php header函数 文件下载时直接提示保存的代码
php header函数实现文本文件下载的方法
php使用header发送各种类型文件下载的例子
php强制性文件下载的函数
php实现ie中文件下载的代码