# 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 можешь изменить или убрать вообще. Я так сделал что бы было видно результат работы функции.