php 生成txt文件并下载

<?php
    header("Content-type: text/html; charset=utf-8");
    try{
        $conn = new PDO("mysql:host=localhost;dbname=xxx","xxx","xxx");
        $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        $conn->query("SET NAMES utf8");
    }catch(PDOException $e){
        echo"数据库连接失败".$e->getMessage();
    }
    $user = "select * from users";
    $user = $conn->query($user)->fetchAll(PDO::FETCH_ASSOC);
    if(!empty($user)){
        foreach($user as $key => $val){
            $data[$key]['nickname']=$val['uname'];
            $data[$key]['mobile']=$val['mobile'];
        }
    }else{
        $data = '暂无信息';
    }
    //第一步:处理中文文件名:
    $ua = $_SERVER["HTTP_USER_AGENT"];
    $filename = "用户信息.txt";
    $encoded_filename = urlencode($filename);
    $encoded_filename = str_replace("+","%20",$encoded_filename);
    //第二步:生成TXT文件
    header("Content-Type: application/octet-stream");
    if (preg_match("/MSIE/",$_SERVER['HTTP_USER_AGENT'])){
        header('Content-Disposition:attachment;filename="'.$encoded_filename.'"');
    }elseif(preg_match("/Firefox/",$_SERVER['HTTP_USER_AGENT'])){
        header('Content-Disposition:attachment;filename*="utf8'.$filename.'"');
    }else{
        header('Content-Disposition:attachment;filename="'.$filename.'"');
    }
    //第三步:输出内容
    echo json_encode(array('data'=>$data));
    /*file_put_contents($filename,json_encode($data),FILE_APPEND);
    echo file_get_contents("$filename");*/
?>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值