Разбивка файла и отправка на серве

Тема в разделе "Шаблон вывода", создана пользователем dimochkaorg, 30 окт 2021.

  1. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    181
    Соратники по счастью! )))) Случилась трагедия! ))) Мне нужно обработать csv файл на серваке - результат парсинга, но он собака БОЛЬШОЙ. К сожалению я не нашел возможности отправки по ftp на сервер результата одного парсинга в виде нескольких файлов, CD ненавязчиво предлагает включить опцию парсинга в один файл, а сие никак невозможно. не справляется сервак с таким большим. Нашел решение разбивки csv файла. На удивление ,оно оказалось рабочим. Все в нем хорошо, но как мне вставить в начало обозначение столбцов в каждый результат раздения. Они всегда одни и те же. Так что считывать их не надо. Просто вставлять как заданную переменную или как там ее. ))) Прошу хэлпа!
    Код:
    <?php
    $csv_array = file('файл.csv');
    //сколько строк сохранять в файл
    $strings_in_file = 50000;
    $top = $strings_in_file;
    $file_counter = 1;
    for($i=0; $i<count($csv_array); $i++)   // $i тоже что и $string_counter
    {
        //если счетчик разбива равен $strings_in_file закрываем старый файл и добавляем 1 к $file_counter
        if($i >= $top)  // Всегда было TRUE из-за присваивания $string_counter = $strings_in_file
        {
            fclose($fp);
            unset($fp);
            $file_counter++;
            $top += $strings_in_file;
        }
        //если файл для записи не открыт открываем его
        //if(!$fp) $fp = fopen('XXX_'.$file_counter.'.csv', 'w');
        if ( !$fp ) {
            // 01.csv, 02.csv, ... 99.csv
            $dest = ($file_counter < 10 ? '0' : '') . $file_counter . '.csv';
            $fp = fopen($dest, 'w');
        }
        //записываем строку и прибавляем к счетчику 1
        fputs($fp, $csv_array[$i]);
    }
     
     
  2. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    181
    вопрос снят... чего-то я заработался. все уже придумано в cd, просто как-тоне пользовался :))))
     
    Root нравится это.

Поделиться этой страницей