2016-08-03 2 views
0

Вот мой код. Он работает правильно, и теперь я хочу сжать файл csv перед его созданием. Кто-нибудь, пожалуйста, предложите мне, что делать!сжатие csv перед экспортом в php

$filename = 'Product_Export_' . date('Y-m-d') . '.csv'; 
header('Content-Encoding: UTF-8'); 
header('Content-type: text/csv; charset=UTF-8'); 
header('Content-Disposition: attachment; filename=' . $filename); 
echo "\xEF\xBB\xBF"; // UTF-8 BOM 
// clean the output buffer 
ob_clean(); 
echo trim($_SESSION['cProductCSVdata']); 
$_SESSION['cProductCSVdata'] = ''; 
exit; 
+0

Включите сжатие gzip на вашем веб-сервере. сделанный. –

+3

Возможный дубликат [Как включить gzip?] (Http://stackoverflow.com/questions/4709076/how-to-enable-gzip) –

ответ

1

Отправка его в zip-файл с помощью ZipArchive - это ваше решение. Вот пример с .txt-файлами.

<?php 
$zip = new ZipArchive(); 
$filename = "./test112.zip"; 

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) { 
    exit("cannot open <$filename>\n"); 
} 

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n"); 
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n"); 
$zip->addFile($thisdir . "/too.php","/testfromfile.php"); 
echo "numfiles: " . $zip->numFiles . "\n"; 
echo "status:" . $zip->status . "\n"; 
$zip->close(); 
?> 
Смежные вопросы