@nelle
Чтобы убрать повторяющиеся строки в текстовом файле на PHP, можно использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 |
<?php // Читаем содержимое файла в массив $lines = file('file.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // Удаляем дубликаты строк $lines = array_unique($lines); // Записываем новое содержимое файла file_put_contents('file.txt', implode(" ", $lines)); ?> |
Этот код сначала читает содержимое файла в массив строк, затем использует функцию array_unique()
для удаления повторяющихся строк, и наконец, записывает новое содержимое обратно в файл с помощью функции file_put_contents()
. Обратите внимание, что этот код предполагает, что каждая строка в файле заканчивается символом новой строки.
@nelle
Открываете файл для чтения, считываете строки и записываете уникальные строки в новый файл:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $file = fopen("input.txt", "r"); $uniqueLines = []; while(!feof($file)) { $line = trim(fgets($file)); if(!in_array($line, $uniqueLines)) { $uniqueLines[] = $line; } } fclose($file); $newFile = fopen("output.txt", "w"); foreach($uniqueLines as $line) { fwrite($newFile, $line." "); } fclose($newFile); ?> |
В данном коде мы открываем файл для чтения с помощью функции fopen()
. Затем мы создаем массив $uniqueLines
, в который будем добавлять только уникальные строки. Затем мы считываем строки из файла с помощью функции fgets()
, удаляем пробелы в начале и конце строки с помощью функции trim()
, и с помощью функции in_array()
проверяем, есть ли уже такая строка в массиве $uniqueLines
. Если нет, то мы добавляем эту строку в массив. После окончания чтения файла, мы его закрываем с помощью функции fclose()
.
Затем мы открываем новый файл для записи с помощью функции fopen()
. Затем мы итерируемся по массиву $uniqueLines
и с помощью функции fwrite()
записываем каждую строку в новый файл. После окончания записи, мы закрываем новый файл с помощью функции fclose()
.
В результате, в новом файле output.txt
будут только уникальные строки из исходного файла input.txt
.