Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2013, 19:26   #1
vvef
Новичок
Джуниор
 
Регистрация: 26.04.2011
Сообщений: 2
По умолчанию Разбиение большого csv по 2000 строк

Есть файл XXX.csv состоящий из N числа строк, нужно посредством php разбить этот файл на несколько файлов по 2000 строк, т.е. создается 01.csv, 02.csv в которые идёт экспорт строк из XXX.csv

Код приведен ниже разбивает построчно (создает для каждой строки свой .csv)

PHP код:
$csv_array file('XXX.csv');
//сколько строк сохранять в файл
$strings_in_file 200
$string_counter 0;
$file_counter 1;
for(
$i=0$i<count($csv_array); $i++)
{
    
//если счетчик разбива равен $strings_in_file закрываем старый файл и добавляем 1 к $file_counter
    
if($string_counter $strings_in_file)
    {
        
fclose($fp);
        unset(
$fp);
        
$file_counter++;
    }
    
//если файл для записи не открыт открываем его
    
if(!$fp$fp fopen('XXX_'.$file_counter.'.csv''w'); 
    
//записываем строку и прибавляем к счетчику 1
    
fputs($fp$csv_array[$i]);
    
$string_counter++;
}
if(
$fpfclose($fp); 
Вложил свой тестовый файл
Вложения
Тип файла: zip tovar.zip (57.8 Кб, 7 просмотров)
vvef вне форума Ответить с цитированием
Старый 29.08.2013, 19:40   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от vvef Посмотреть сообщение
PHP код:
if($string_counter $strings_in_file
В этом условии всегда будет TRUE – потому, что это присваивание (=), а не сравнение (== или ===).

$string_counter в этом коде никакого смысла не имеет – в цикле есть свой счетчик ($i).
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт Большого текстового файла (14 млн. строк) с разбиением strannick Microsoft Office Excel 15 01.02.2014 12:55
Разбиение hrusha2006 Помощь студентам 0 07.11.2010 09:13
Разбиение строк в запросе Diamand Microsoft Office Access 4 28.09.2010 12:44
Разбиение на колонки zenner Microsoft Office Excel 13 05.10.2009 09:31
Экспорт в csv и импорт из csv cent Microsoft Office Excel 12 28.12.2008 19:50