Просмотр поста

.
ValekS
Ей 25
# Sitego (03.06.2016 / 12:01)
Как можно объединить два текстовых файла построчно?
Как просто объединить все файлы в один, я знаю. Но надо объединять два текстовых файла через строки.
Например, берём первую строку из первого файл
Интересная задача) Набыдлокодил функцию:
Посмотреть (+/-)
// $file1, $file2 - путь к файлам
function file_merge($file1, $file2)
{
$file1 = file($file1);
$file2 = file($file2);
$arr1 = array();
$arr2 = array();

$i = 0;

foreach ($file1 AS $val)
{
$arr1[$i] = $val;
$i += 2;
}

$i = 1;

foreach ($file2 AS $val)
{
$arr2[$i] = $val;
$i += 2;
}

$arr = $arr1 + $arr2;
ksort($arr);

foreach ($arr AS $val)
{
file_put_contents('file.txt', trim($val).PHP_EOL, FILE_APPEND);
}

return header('location: file.txt');
}

file_merge('file1.txt', 'file2.txt');


Если в файлах будет разное кол-во строк, например в одном 10 а в другом 15, то эти 5 строк будут просто добавлены в конец файла.
А ещё, если файл в который будет записываться результат уже существует, то результат добавится в конец этого файла.
Да, return можешь изменить или убрать вообще. Я так сделал что бы было видно результат работы функции.