有一组数据, 要把它写入到 txt里 , 然后下载这个 txt 文件
这个应该怎么实现
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Bill Gates\n";
fwrite($myfile, $txt);
$txt = "Steve Jobs\n";
fwrite($myfile, $txt);
fclose($myfile);
?>
这是w3school上的例子
http://www.w3school.com.cn/ph...
贴一段之前下载csv文件的代码吧,原理是一样的
set_time_limit(0);
ini_set('memory_limit', '1024M');
$fileName = 'WinterStudentCount-'.date('YmdHis', time());
header('Content-Type: application/vnd.ms-execl');
header('Content-Disposition: attachment;filename="' . $fileName . '.csv"');
header('Cache-Control: max-age=0');
//打开php标准输出流
//以写入追加的方式打开
$fp = fopen('php://output', 'a');
// 标题
$info = ['序号','中学','年度','人数','录取人数','录取率'];
foreach ($info as $k => $v) {
$title[] = iconv('UTF-8', 'gbk//IGNORE', $v);
}
//获取学校表
$data = WinterStudentDataForm::find()->where($map);
$datainfo = $data->select(['school','year','number','enroll_number'])->asarray()->all();
for ($i=0; $i < count($datainfo); $i++) {
$datainfo[$i]['rate'] = $datainfo[$i]['enroll_number'].' \ '.$datainfo[$i]['number'];
}
$year = isset($map['year'])?$map['year']:'0';
$number_sum = $data->sum('number');
$enroll_number_sum = $data->sum('enroll_number');
$info_count = ['',iconv('UTF-8', 'gbk//IGNORE', '汇总'),$year,$number_sum,$enroll_number_sum,$enroll_number_sum.' \ '.$number_sum];
if($datainfo) {
//将标题写到标准输出中
$i = 1;
fputcsv($fp, $title);
foreach($datainfo as $key=> $item) {
//这里必须转码,不然会乱码
$order = $i++;
foreach($item as $k => $v){
$row['order'] = $order;
$row[$k] = iconv('UTF-8', 'gbk//IGNORE', $v);
}
fputcsv($fp, $row);
}
fputcsv($fp, $info_count);
}
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答575 阅读✓ 已解决
786 阅读
php读取csv文件数据并输出,把CSV换成相对应的TXT,输出
下载