php 直接下载 txt csv文件 不需要服务器上生成

 $outformat "entmove.csv";
    $title "邮箱名,姓名,邮箱密码,搬家状态,开始时间,结束时间,邮件总数,收取数,失败数 ";
    $data "";
    foreach ($moveUsers as $b) {
        $status = iconv("utf-8""gbk//IGNORE"$b['status_text']);
        $realName = iconv("utf-8""gbk//IGNORE"$b['realName']);
        $data .= "{$b['account']} ,{$realName} ,{$b['password']},{$status} ,{$b['movetime']} "
            ",{$b['endtime']} ,{$b['totle']},{$b['successnum']},{$b['failnum']} ";
    }
    $title = iconv("utf-8""gbk//IGNORE"$title);
    $data $title $data;
    header("Cache-control: private");
    header("Pragma: public");
    header('Content-type: application/x-csv');
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5')) {
        header("Content-Disposition: inline; filename=$outformat");
    else {
        header("Content-Disposition: attachment; filename=$outformat");
    }
    echo $data;
    exit;
 
 
上面是生成csv文件    
下面是生成txt文件
 
$WelfareCode = WelfareCode::where('config_id', $id)->select('code')->get()->toArray();
$filename = $config->name.'.txt';
$fileData = '';
foreach ($WelfareCode as $code) {
$fileData .= $code['code'] . " ";
}
// 头信息设置
header("Content-type:text/txt");
header("Content-Disposition:attachment;filename=" . $filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $fileData;
exit;

有中文乱码就转一下utf8
 
原文地址:https://www.cnblogs.com/yjhsm/p/14544910.html