<?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);
}
The above code generates empty line in the beginning of .csv file when viewed in ms excel. One more thing the .csv file also generates any html code in the page.