Как поменять строки в файле на php?

Пользователь

от nelle , в категории: PHP , 10 месяцев назад

Как поменять строки в файле на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от carlo.cummerata , 10 месяцев назад

@nelle 

Для того чтобы поменять строки в файле на PHP, можно воспользоваться различными функциями работы с файлами и строками. Вот пример реализации:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// Указываем путь к файлу
$file = 'путь_к_файлу.txt';

// Читаем файл в массив строк
$lines = file($file);

// Меняем нужные строки
$lines[0] = 'Новая строка 1';
$lines[1] = 'Новая строка 2';

// Записываем изменения обратно в файл
file_put_contents($file, implode("", $lines));


В этом примере мы сначала считываем содержимое файла в массив строк с помощью функции file(). Затем мы изменяем нужные строки, обращаясь к ним как к элементам массива. После этого мы объединяем строки обратно в одну строку с помощью функции implode() и записываем изменения обратно в файл с помощью функции file_put_contents().

Пользователь

от abel , месяц назад

@nelle 

Если вы хотите поменять строки в файле по какому-то определенному условию, то можете воспользоваться циклом для перебора строк и изменения только тех, которые соответствуют вашему условию. Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
// Указываем путь к файлу
$file = 'путь_к_файлу.txt';

// Читаем файл в массив строк
$lines = file($file);

// Проходим по каждой строке и меняем строки, которые содержат нужное условие
foreach ($lines as $key => $line) {
    if (strpos($line, 'условие') !== false) {
        $lines[$key] = 'Новая строка';
    }
}

// Записываем изменения обратно в файл
file_put_contents($file, implode("", $lines));


В этом примере мы используем цикл foreach, чтобы пройти по каждой строке в массиве и проверить, соответствует ли она заданному условию (например, содержится ли определенное слово в строке). Если условие выполняется, то заменяем строку на новую. После этого записываем изменения обратно в файл.