csv - Compressed zip file in php doesn't display latin characters
one text
Solution:
Try to download it with chunks and headers should be like this. GOOD JOB KEEP GOING.
<?php
$archivo = "REPORTE_PUNTOS.csv";
$filename = "REPORTE_PUNTOS.zip";
$zip = new ZipArchive();
if ($zip->open($filename, ZIPARCHIVE::CREATE) === true) {
$zip->addFile($archivo);
$zip->close();
} else {
echo 'Error creando '.$filename;
}
if (file_exists($filename)) {
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public", false);
header("Content-Description: File Transfer");
header("Content-Type: application/x-zip-compressed");
header("Accept-Ranges: bytes");
header("Content-Disposition: attachment; filename=\"" . $filename . "\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($filename));
$chunkSize = 1024 * 1024;
$handle = fopen($filename, 'rb');
while (!feof($handle))
{
$buffer = fread($handle, $chunkSize);
echo $buffer;
ob_flush();
flush();
}
fclose($handle);
unlink($filename);
}
Source