0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 11
1

Архивация большого файла

05.04.2018, 09:05. Показов 675. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Вот бьюсь долго и не могу разобраться в чем проблема.

Смысл скрипта:
1. Формирует из БД CSV
2. Архивирует его в ZIP
3. Отдает на скачку

С маленьким CSV все работает ок, а вот если CSV 250Мб, то падает

Вообще я хотел все это делать не храня промежуточные файлы на диске, но не вышло.

Вот код:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
    require_once '../../config.php';
    $shop_name = $_GET['shop'];
    $config = $GLOBALS['shop_config'][$shop_name]; // через ? передаем имя магазина
 
    function create_csv($shop){
        не важно как, тут формируется CSV и возвращает имя файла
    }
    
    
    function file_force_download($file_name) { // для загрузки csv
        $file = ($file_name);
        header ("Content-Type: application/octet-stream");
        header ("Accept-Ranges: bytes");
        header ("Content-Length: ".filesize($file));
        header ("Content-Disposition: attachment; filename=".$file);  
        readfile($file);
    }
        
    
    $file=create_csv($config["shop_name"]);
    $file_zip="tempfile/".time().".zip";
    $zip = new ZipArchive(); // подгружаем библиотеку zip
    if ($zip->open($file_zip, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE) !== TRUE) {
        die ("An error occurred creating your ZIP file.");
     }
    $zip->addFile($file);
    $zip->close(); 
    
   // file_force_download($file_zip);
?>
Помогите понять что я сделал не так
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2018, 09:05
Ответы с готовыми решениями:

Архивация файла
Здравствуйте. Имеется файл на сервере (*.ехе), но браузеры не дают ему скачаться, т.к....

Архивация файла
Можно ли с заархивировать файл с помощь Билдера?

Архивация файла
Здравствуйте. от нашел метод архивации файла private static void...

Архивация определённого файла
Добрый день!!! Передо мной стоит задача заархивировать определённый файл с помощью командной...

2
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
05.04.2018, 18:28 2
если CSV 250Мб, то падает
PHP
1
2
3
4
5
6
<?php
ignore_user_abort(true); 
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('max_execution_time',3600);
ini_set('memory_limit','600M');
0
Эксперт PHP
4898 / 3898 / 1615
Регистрация: 24.04.2014
Сообщений: 11,403
05.04.2018, 21:45 3
PHP
1
exec('zip /path/to/result.zip /path/to/input.csv');
0
05.04.2018, 21:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2018, 21:45
Помогаю со студенческими работами здесь

Архивация файла в архив
Здравствуйте форумчане! Как можно провести архивация и разархивация файла с помощью Qt?

Архивация текстового файла
мне нужно разработать программу, позволяющую сжимать текстовую информацию, а затем преобразовывать...

Архивация файла на сервере
Здравствуйте, решил сделать архивацию для сервера, вроде все делаю правильно, но не могу понять...

Архивация файла с паролем
Как посредством c# заархивировать файл с паролем не прибегая к помощи к сторонним библиотекам? На...

Архивация файла методом упаковки!
Ребят не могли бы вы помочь с написанием программы которая архивирует файл методом упаковки на...

GZipStream архивация частей файла
В общем делю файл на конкретное кол-во байт, но при архивации, части архива разного размера, не тот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru