Объединение двух файлов

Заранее спасибо за помощь в этом вопросе,

у меня есть два файла

file1.txt, который содержит:

adam
william
Joseph
Hind 
Raya 

и file2.txt, который содержит:

Student
Teacher

Что я хочу, так это объединить два файла в один файл таким образом, чтобы при достижении eof файла file2.txt он снова перечитывал его и продолжал

Комбинированный.txt:

adam
Student
william
Teacher
Joseph
Student
Hind 
Teacher
Raya 
Student

person Zufy    schedule 24.06.2016    source источник
comment
Ладно, ты уже что-нибудь пробовал? Может file_put_contents('Combined.txt', file_get_contents('file1.txt') . file_get_contents('file2.txt'))?   -  person chris85    schedule 24.06.2016
comment
Можно прочитать каждый файл с помощью php и использовать цикл для зацикливания функции и объединить его с помощью функции .=.   -  person Ponilz    schedule 24.06.2016
comment
Для меня это пахнет домашним заданием.   -  person bassxzero    schedule 24.06.2016
comment
@bassxzero это объяснило бы, почему это срочно :)   -  person scrowler    schedule 24.06.2016


Ответы (1)


Вы можете добиться этого, зациклив строки первого текстового файла и вставив альтернативные строки из текстового файла № 2, используя модуль на ключе. Расчет list #2 key = the remainder of list #1 key divided by the number of lines in list #2, т.е. $list2Key = $list1Key % $numberOfLinesInList2. Подробнее об операторе модуля здесь.

$f1 = file('1.txt');
$f2 = file('2.txt');

$number_of_inserts = count($f2);

$output = array();
foreach ($f1 as $key => $line) {
    $output[] = $line;
    $output[] = $f2[$key % $number_of_inserts];
}

print_r($output);

Это будет работать с любым количеством строк во втором текстовом файле.

person scrowler    schedule 24.06.2016
comment
Большое спасибо за решение @robbie, можете ли вы показать, как записать массив в файл merge.txt - person Zufy; 24.06.2016
comment
Содержимое файла put сделает это за вас - person scrowler; 24.06.2016