Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PHP и CSV. Вытекающие проблемы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Cr.ice123
Отправлено: 10 Апреля, 2014 - 11:55:04
Post Id



Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2014  


Помог: 0 раз(а)

[+]


Здравствуйте, имею массив из 1000 строк и несколько столбцов, как его можно разместить в 10 разных файлах, по 100 строк. в файлe 1.csv(1-100 строка) в файле 2.csv (101-200строка) и т.д. Подскажите плз )))


Попробовал таким вот способом, но.. )
PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=1;$i<=10;$i++){
  3.   for($j=0;$j<sizeof($array);$j=$j+99){
  4.       foreach($spekCsv[$j] as $value){
  5.           $str .= $value[$j][0].';'.$value[$j][1].';'.$value[$j][2].";\r\n";
  6.                                 }
  7.                 }
  8. file_put_contents(''.$i.'.csv',$str);
  9. }
  10.  
 
 Top
and_07
Отправлено: 10 Апреля, 2014 - 12:06:27
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Сент. 2012  


Помог: 3 раз(а)




1)array_slice
2)fputcsv
 
 Top
armancho7777777 Супермодератор
Отправлено: 10 Апреля, 2014 - 13:31:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




and_07 пишет:
array_slice

Может array_chunk ?
 
 Top
Cr.ice123
Отправлено: 10 Апреля, 2014 - 13:41:19
Post Id



Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2014  


Помог: 0 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1. for($i=0;$i<=$dD;$i=$i+1023){
  2.                 for($j=1;$j<$c;$j++){
  3.                 $qwert.$j=array_slice($spCSV,0+$i,1024);
  4. }
  5. }
  6. print_r($qwert1);


что не так?
 
 Top
and_07
Отправлено: 10 Апреля, 2014 - 13:56:54
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Сент. 2012  


Помог: 3 раз(а)




armancho7777777 пишет:
Может array_chunk ?


да вы правы с array_chunk попроще

(Отредактировано автором: 10 Апреля, 2014 - 13:58:20)

 
 Top
Cr.ice123
Отправлено: 10 Апреля, 2014 - 14:30:59
Post Id



Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2014  


Помог: 0 раз(а)

[+]


armancho7777777 пишет:
and_07 пишет:
array_slice

Может array_chunk ?


да сделал через chunk ))

осталась техническая неполадка..
PHP:
скопировать код в буфер обмена
  1. $qwert=array_chunk($spCSV,1024);
  2. for($i=0;$i<$c;$i++){
  3.                 $fop=fopen("$i.csv",'w');
  4.                 foreach($qwert[$i] as $fields[$i]){
  5.                 fputcsv($fop,$fields[$i],';');
  6.                 }
  7.                
  8. }


как сделать чтобы в переменной $fop адрес был $+1? пробовал $i."+1".csv не помогло...
 
 Top
Edwvee
Отправлено: 10 Апреля, 2014 - 14:34:31
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Ну банально просто же:
$fop=fopen(($i+1) . ".csv",'w');
 
 Top
Cr.ice123
Отправлено: 10 Апреля, 2014 - 14:34:58
Post Id



Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2014  


Помог: 0 раз(а)

[+]


Cr.ice123 пишет:
armancho7777777 пишет:
and_07 пишет:
array_slice

Может array_chunk ?


да сделал через chunk ))

осталась техническая неполадка..
PHP:
скопировать код в буфер обмена
  1. $qwert=array_chunk($spCSV,1024);
  2. for($i=0;$i<$c;$i++){
  3.                 $fop=fopen("$i.csv",'w');
  4.                 foreach($qwert[$i] as $fields[$i]){
  5.                 fputcsv($fop,$fields[$i],';');
  6.                 }
  7.                
  8. }


как сделать чтобы в переменной $fop адрес был $+1? пробовал $i."+1".csv не помогло...



Всем спасибо, нашел решение ) добавил строку $b=$i+1))

Спасибо еще раз!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB