• php函数: urlencode


    urlencode可以解决下载文件名中文乱码问题, 但有时如果文件名含有空格字符, urlencode编码后的字符串会出现加号,

    故需要将空格去掉!而有一种方法可以不把空格去掉,需要在输出文件名时把+替换成%20,即可以得到正常的文件名了!

    $file = "例  子   example 1.rar";
    $realname = "例  子   example 1.rar";
    $realname = str_replace(" ","",$realname);   //去掉英文空格 
    $str=str_replace(chr(32),"",$str);  //去掉中文空格
    $str=str_replace(chr(161),"",$str);  //去掉中文空格
    $realname = str_replace(chr(227),"",$realname);   //去掉utf-8空格

    或者用正则表达式来完成空格的替换:
    $realname = preg_replace("/[[:space:]]/","",$realname);
    $realname = ereg_replace("[[:space:]]","",$realname);

    $fp=fopen($file,"r"); 
    header("content-type: application/octet-stream");  
    header("accept-ranges: bytes");
    header("content-length: ".filesize("$file_path"));
    header("content-disposition: attachment;"."filename= ".urlencode($realname));    //url编码文件名,正确显示中文名称
    header("content-disposition: attachment;"."filename= ".str_replace("+","%20",urlencode($realname)));   //替换加号
    echo fread($fp,filesize("$file_path"));    //读取文件
    fclose($fp);
    exit;

    转      载:DavidYanXW

    文章地址:http://www.cnblogs.com/DavidYan/articles/2482068.html

  • 相关阅读:
    深入Activity生命周期(一)
    android APK 中英文对比(转)
    android中获得系统语言
    mime Contenttype(http head)(转)
    activity设置全屏
    Activity常用知识
    关于这次数学建模
    排列组合
    hdu 1003 笔记
    杂想
  • 原文地址:https://www.cnblogs.com/jidan/p/3192645.html
Copyright © 2020-2023  润新知