zoukankan      html  css  js  c++  java
  • php下载解决中文乱码问题

    利用 iconv() 函数解决乱码

    $file_name = iconv("utf-8","gb2312",$file_name);

     

    具体下载代码如下:

    public function downloadAction(){

            header("Content-type:text/html;charset=utf-8");

            // 文件名

            $file_name="中文.txt";

            //用以解决中文不能显示出来的问题

            $file_name = iconv("utf-8","gb2312",$file_name);

            // 文件路径

            // $file_sub_path=$_SERVER['DOCUMENT_ROOT'];

            $file_path=$file_sub_path.'/'.$file_name;

            //首先要判断给定的文件存在与否

            if( !file_exists($file_path) || $file_path=='/' ){

                $arr = array(

    'code' => '-103',

    'message' => '操作失败',

    'data' => '没有该文件文件'

     );

                echo json_encode( $arr );

                die();

            }

            $fp=fopen($file_path,"r");

            $file_size=filesize($file_path);

            //下载文件需要用到的头

            Header("Content-type: application/octet-stream");

            Header("Accept-Ranges: bytes");

            Header("Accept-Length:".$file_size);

            Header("Content-Disposition: attachment; filename=".$file_name);

            $buffer=1024;

            $file_count=0;

            //向浏览器返回数据

            while(!feof($fp) && $file_count<$file_size){

                $file_con=fread($fp,$buffer);

                $file_count+=$buffer;

                echo $file_con;

            }

            fclose($fp);

            die();

        }

  • 相关阅读:
    编程注意事项(2010.12.25)
    单链表冒泡排序
    关于选书与读书
    记录一下后几年要看的书
    我的第一次面试经历
    使用IntelliJ IDEA配置Tomcat(入门)
    linux中Find命令的使用
    profile,bashrc,bash_profile之间的区别和联系
    Linux的启动流程、模块管理与boot Loader
    linux(Centos)下软件安装的方式总结
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/6763590.html
Copyright © 2011-2022 走看看