[PHP] Из файлов в папках со строчками - сделать общий.
У меня есть в папке /data/ разные папки, в них файлы, имена одинаковые, содержимое - разное:
[PAGEKEY] ADWORDS.txt
[MULTIKEY].txt
[MULTIKEY]_2.txt
-
Логика скрипта:
Берём первую папку
- забираем строчки из файла [PAGEKEY] ADWORDS.txt (их около 10-20 в файле).
- берем уникальную строчку из файла [MULTIKEY].txt (их обычно не больше 50 000 строк в файле из одной папки)
- берем уникальную строчку из файла [MULTIKEY]_2.txt
Делаем итоговый файл, куда пишем:
Первую строчку из [PAGEKEY] ADWORDS.txt с префиксом -N, где N - счетчтик (т.е. делаем это для того, что бы 1 слово в каждой строке нового файла было уникальным)
через точку с запятой
Уникальная строчка из [MULTIKEY].txt
через точку с запятой
Уникальная строчка из [MULTIKEY]_2.txt (и повторяем это столько, сколько указано в конфиге)
через точку с запятой, если указано в конфиге Категория
Категория (она указываеся в конфиге скрипта. Если указана - добавляем ;Category)
---
Результат первой строки в новом файле при настройках - Категория online, Мультикеев - 5:
---
pagekey-1;random_multikey;random_multikey_2_1;random_multikey_2_2;random_multikey_2_3;random_multikey_2_4;random_multikey_2_5;online
pagekey-2;random_multikey;random_multikey_2_1;random_multikey_2_2;random_multikey_2_3;random_multikey_2_4;random_multikey_2_5;online
--
Делаем это столько, сколько строчек уникальных в [MULTIKEY].txt
Как только закончиваются строчки в [MULTIKEY].txt - переходим к другой папке (если папки нет), начинаем с начала - но сохраняем уже в новый файл (Сколько делать таких файлов указываем в скрипте)
В итоговом файле:
Строчка из [PAGEKEY] ADWORDS.txt из первой папки-1;Уникальная строчка из [MULTIKEY].txt из первой папки;Уникальная строчка из [MULTIKEY]_2.txt из первой папки;..повторить столько раз, сколько указали в конфиге;Категория
Другая строчка из [PAGEKEY] ADWORDS.txt из первой папки-2;Уникальная строчка из [MULTIKEY].txt из первой папки;Уникальная строчка из [MULTIKEY]_2.txt из первой папки;..повторить столько раз, сколько указали в конфиге;Категория