【PHP】强制下载文件的代码(解决了IE下中文文件名乱码问题)



    以下这段代码作用是:浏览器提交excel格式的数据和文件名到服务器上,PHP将请求转化为可下载的excel文件,并要求浏览器弹出文件下载提示窗口。

    中间遇到一个问题是提交的中文文件名直接放到header里在IE下会变成乱码,解决方法是将文件名先urlencode一下再放入header,如下。

    <?php
    
    $file_name = urlencode($_REQUEST['filename']);
    
    header("Pragma: public");
    
    header("Expires: 0");
    
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    
    header("Content-Type: application/force-download");
    
    header('Content-Type: application/vnd.ms-excel; charset=utf-8');
    
    header("Content-Transfer-Encoding: binary");
    
    header('Content-Disposition: attachment; filename='.$file_name);
    
    echo stripslashes($_REQUEST['content']);
    
    ?>


    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《【PHP】强制下载文件的代码(解决了IE下中文文件名乱码问题)
    标签:
    分享:

还没有人抢沙发呢~

无觅相关文章插件,快速提升流量