|
|
|
| Есть документ text.txt размер 1000 строк!!!
Подскажите пожалуйста скриптик, который создал бы из text.txt
четвре документа
1.txt
2.txt
3.txt
4.txt
По 250 строк в каждом!! | |
|
|
|
|
|
|
|
для: pornocat
(07.06.2007 в 12:58)
| | тут была аналогичная задача из 300 строк сделать 20 по 15. поищите, недавно была. | |
|
|
|
|
|
|
|
|
для: pornocat
(07.06.2007 в 12:58)
| | Уложился в 4 строчки :)
<?
$filename = 'text.txt';
$parts = array_chunk( file($filename), 250);
foreach($parts as $i=>$part)
file_put_conents(($i+1).'.txt', implode("\n", $part));
?>
|
| |
|
|
|
|
|
|
|
для: Temnovit
(07.06.2007 в 13:44)
| | file_put_conents()?
implode("\n", $part) нужно заменить на implode($part) | |
|
|
|
|
|
|
|
для: Unkind
(07.06.2007 в 13:50)
| | file_put_contents() - опечатка
>implode("\n", $part) нужно заменить на implode($part)
почему?
http://php.net/manual/ru/function.implode.php | |
|
|
|
|
|
|
|
для: Temnovit
(07.06.2007 в 13:58)
| | почему?
Потому что file() не удаляет переносы строк. В итоге у Вас получится набор файлов с двойными переносами.
http://php.net/manual/ru/function.implode.php
Да, знаком. Сами теперь почитайте:
Замечание: По историческим причинам, функции implode() можно передавать аргументы в любом порядке, однако для унификации с функцией explode() следует использовать документированный порядок аргументов. | |
|
|
|
|
|
|
|
для: Temnovit
(07.06.2007 в 13:44)
| | мое решение (02.06.2007 в 12:12) было в три строки, и при этом не гробило память, и не зависело от представления переводов строк (internet/unix) . | |
|
|
|
|
|
|
|
для: pornocat
(07.06.2007 в 12:58)
| | еще вариант )
<?php
$c=count( $a=file("text.txt") );
for ( $i=1; $i<=$c; $i++ )
file_put_contents( ceil( $i/250 ).'.txt',$a[$i-1],FILE_APPEND);
?>
|
| |
|
|
|
|
|
|
|
для: Disable
(07.06.2007 в 15:15)
| | Disable, он тоже пожирает оперативную память. | |
|
|
|
|
|
|
|
для: Unkind
(07.06.2007 в 15:26)
| | Проблема в том, что файл висит в переменной? Но тогда можно читать в цикле по строчке.. | |
|
|
|
|
|
|
|
для: Disable
(07.06.2007 в 15:35)
| | Конечно. | |
|
|
|