Разделить txt файл на части

Рейтинг: -1Ответов: 1Опубликовано: 29.11.2014

Есть файл listing.txt, а в нем слова такого рода:

слово 1
слово 2
....
слово 4444
слово 4445

Разбиваю его на list1.txt, list2.txt... по 400 строк:

<?php 
$lines = file("listing.txt");

$fc = 1;

$lc = 400; // по сколько строк в файле

$fp = fopen("list1.txt", "a");

for ($i=0; $i<count($lines); $i++) 
{ 
fwrite($fp, $lines[$i]); 
if ($i/$lc==floor($i/$lc) and $i!=0) 
  { 
  fclose($fp); 
  $fc += 1; 
  $fp = fopen("list".$fc.".txt", "a"); 
  } 
} 
fclose($fp); 
?>

В конце каждого файла остается пустая строка:

слово 1
слово 2
....
слово 399
слово 400
и тут пустая строка (401 строка)

Как ее удалить, исправив этот скрипт?

Ответы

▲ 2

Держи нормальный вариант

Определяем функцию - создание порций из файла.
Параметры:
$filename- путь до исх файла;
$sizeporcii - кол-во строк в файле порции;
$mask- маска файла порции;
    function createporcii($filename,$sizeporcii,$mask)
    {
        $file=file($filename);
        $countporcii=ceil(count($file)/$sizeporcii);
        for ($i=0;$i<$countporcii;$i++)
            {
                file_put_contents($mask.($i+1).'.txt',array_merge(array_slice($file,$sizeporcii*$i,($sizeporcii-1)),array(trim($file[($i+1)*$sizeporcii-1]))));
            }
    }

вызываем
    createporcii('1111_.txt',400,'list');