• php 实现文件下载,兼容IE、Firefox、Chrome等浏览器


    一、下载任意文件:

    Header ( "Content-type: application/octet-stream" );
    $ua = $_SERVER ["HTTP_USER_AGENT"];
    $file = '/var/www/tmp.txt';
    $filename = basename ( $file );
    $encoded_filename = rawurlencode ( $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-Length: " . filesize ( $file ) );
    readfile ( $file );

    二、PHPExcel导出excel文件下载:

         ...
    $objWriter
    = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); header('Content-Type: application/vnd.ms-excel'); $ua = $_SERVER["HTTP_USER_AGENT"]; $encoded_filename = rawurlencode($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('Cache-Control: max-age=0'); $objWriter->save('php://output');
  • 相关阅读:
    网络编程的基础
    day31作业
    异常处理其他内容
    异常处理的使用
    常见的异常种类
    ansible条件使用--实践
    Ansible的循环
    Ansible的条件语句
    ansibleplaybook的使用
    ansible官方文档翻译之变量
  • 原文地址:https://www.cnblogs.com/h07061108/p/download_file.html
Copyright © 2020-2023  润新知