У меня есть фрагмент кода, который экспортирует CSV-файл и несколько файлов изображений внутри ZIP-файла. CSV-файл и изображения были успешно заархивированы и экспортированы в ZIP-файл. Однако мои SQL данные не заполнили CSV-файл. Только пустой чистый лист в CSV-файле. что я делаю не так?
if($_GET['exportdata'] == 'true'){
$datefrom = $_GET['datefrom'];
$dateto = $_GET['dateto'];
$filename = "data.csv"; // Create file name
$f = fopen('php://memory', 'w');
$fields = array('Sample No.',
'Wet Density Mg/m3');
fputcsv($f, $fields);
$query = "SELECT [SampleNo], [Density]
FROM EXPORT_DREDGER WHERE [Date] between ? and ?";
$params = array($datefrom, $dateto);
$stmt = sqlsrv_query($conn2, $query, $params);
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC)){
$row[0];
$row[1];
fputcsv($f, $row);
}
//move back to beginning of file
fseek($f, 0);
//export image and csv files as zip file
$files = array('trip_image/A2002175102616/A2002175102616_img_0001.jpg', 'trip_image/A2002175102617/A2002175102617_img_0001.jpg', $filename);
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file, basename($file));
}
$zip->close();
header('Content-Type: application/octet-stream; charset=utf-8');
header('Content-disposition: attachment; filename='.$zipname.'.zip');
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
fpassthru($f);
}