跨浏览器PHP下载文件名中的中文乱码问题解决方法

yipeiwu_com5年前PHP代码库

本文实例讲述了跨浏览器PHP下载文件名中的中文乱码问题解决方法。分享给大家供大家参考。具体如下:

复制代码 代码如下:
<?php
$ua = $_SERVER["HTTP_USER_AGENT"];
$filename = "中文 文件名.txt";
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header('Content-Type: application/octet-stream');
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 . '"');
}
print 'ABC';
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

两种php实现图片上传的方法

两种php实现图片上传的方法

图片上传在项目中经常用到,几乎没有任何一个项目可以脱离图片或者是文件上传。本篇我在这向大家介绍两种常规的上传方式。(注:在这里我们仅仅是对功能的实现,不去做过多的前端的样式) 一、利用f...

PHP中的traits实现代码复用使用实例

PHP5.4后新增traits实现代码复用机制,Trait和类相似,但不能被实例化,无需继承,只需要在类中使用关键词use引入即可,可引入多个Traits,用','隔开。 (1)Trai...

PHP 上传文件的方法(类)

复制代码 代码如下: /** * 图片上传方法 * $maxsize=500000 = 500k; * $updir="up/"; * $upfile=$_FILES["file_img...

浅析Laravel5中队列的配置及使用

浅析Laravel5中队列的配置及使用

前言 队列常常用于两种场景,一种是高并发的情况,一种是耗时的操作,可以将任务放到队列中去,消费者从队列取任务执行,当然还有失败的情况如何处理,以及延迟,重试,更复杂的情况还有优先级的实现...

详谈PHP面向对象中常用的关键字和魔术方法

PHP面向对象中常用的关键字    final 1.final不能修饰成员属性(类中常量不是用这个关键字) 2.final只能修饰类和方法 作用: 使用fi...