<?php
$start_file='data.txt'; // Имя файла с данными для работы.
$sep='-----------------------'; // Разделитель.
$maxlen='1000'; // Максимальная длина строки.
$out_dir='test'; // Имя папки в которую помещяются новые файлы.
$file=file_get_contents($start_file);
$file=explode($sep, $file);
$file=array_map('trim', $file);
$count=count($file);
$new_file_name=0;
for ($i=0; $i<$count; $i++)
{
if ($file[$i]!='')
{
if (strlen($file[$i])>=$maxlen)
{
file_put_contents('./'.$out_dir.'/'.$new_file_name.'.txt', $file[$i]);
$new_file_name++;
}
else
{
if ($count!=$i+1)
{
if (strlen($file[$i].$file[$i+1])<=$maxlen)
{
$file[$i+1]=$file[$i].''.$file[$i+1];
}
else
{
file_put_contents('./'.$out_dir.'/'.$new_file_name.'.txt', $file[$i]);
$new_file_name++;
}
}
else
{
file_put_contents('./'.$out_dir.'/'.$new_file_name.'.txt', $file[$i]);
$new_file_name++;
}
}
}
}
?>