Задать вопрос
@Ablovka

Как отсортировать строки?

Есть ключи от игр. 3 текстовых документа, в каждом файле по 5 ключей от одной игры.
Как сделать 5 файлов, в котором по 3 разных ключа?
Получается, берем первую строчку из 1го файла и записываем, потом берем строчку из 2го файла и записываем, куда записали 1й, с 3м так же.

Не знаю как еще сформулировать. Можно на PHP или JS. Может посоветуете программу?
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
@hufawoso
$oldDir = './old_files';
$newDir = './new_files';
$files = array_slice(scandir($oldDir), 2);
$keys = [];
foreach ($files as $file) {
    $keys = array_merge($keys, explode("\n",file_get_contents($oldDir.'/'.$file)));
}
$keyChunks = array_chunk($keys, 3);
foreach ($keyChunks as $key=>$chunk) {
    file_put_contents($newDir.'/'.($key+1), implode("\n",$chunk));
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Ablovka Автор вопроса
В папке лежат N файлов с ключами для игр. В каждом файле одинаковое кол-во ключей для определенной игры.
Код создаст файл (keys.txt) в котом будут массивы по N ключей от разных игр, с разделителем (пустая строка).
$d = 'keys/old';
$dir = opendir($d);
$count = 0;
while($file = readdir($dir)){
    if($file == '.' || $file == '..' || is_dir($d . $file)){
        continue;
    }
    $count++;
}
$oldDir = 'keys/old';
$newDir = 'keys';
$files = array_slice(scandir($oldDir), 2);
$keys = [];
foreach ($files as $file) {
    $keys = array_merge($keys, explode("\n",file_get_contents($oldDir.'/'.$file)));
}
$keyChunks = array_chunk($keys, $count);
$fk = fopen("keys/keys.txt", "w+");
foreach ($keyChunks as $key=>$chunk) {
	array_push($chunk, "\n");
    fwrite($fk, implode("\n",$chunk));
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы