【发布时间】:2013-05-17 13:54:31
【问题描述】:
<?php
$filename="backup_".date('m/d/Y', time()).".csv";
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
$q=mysqli_query($conn,"SELECT * FROM visitordb");
$file = fopen('php://output','w');
if(mysqli_num_rows($q)>0) {
while($res = $q->fetch_assoc()) {
$datas = $res["sno"].','.$res["UDID"].','.$res["taggnumber"].','.$res["name"].','.$res["designation"].','.$res["company"].','.$res["email"];
fputcsv($file, explode(',', $datas));
}
} else {
}
fclose($file);
}
以上代码在 ms excel 中查看时会在 .csv 文件的开头生成空行。 .csv 文件还会在页面中生成任何 html 代码。
【问题讨论】:
-
确保脚本没有其他输出,关闭$file后退出
-
不要依赖 Excel 来告诉您 CSV 的样子。 .csv 是什么样的?!
-
尝试简单地将文件保存到磁盘,看看开头是否有空行。
-
另外,你能解释一下你问题中的最后一句话吗?那篇关于 HTML
-
谢谢大家.. 是的,我已经尝试了建议仍然没有改变.. csv 开头有一个空行.. HTML 表示 标记等..