+7(983)178-57-68

Новые горизонты успешного бизнеса!

Главная Посчитать и заказатьОставить заявку Статьи Отзывы Контакты

Как узнать номер определенной строки в файле и заменить/удалить её? PHP

Итак, что мы делаем.
У нас есть файл, в нем несколько строк, надо

найти определенную строку (узнать ее номер)

и удалить ее, либо заменить
<?php
// ищем строку
$str="подробнее";
$fopen=@file("file.txt");
foreach($fopen as $key=>$value)
{
// $key узнает номер строки
if(substr_count($value,$str))
{
print $key; // выводим номер строки
}
}
?>
Узанали номер строки, теперь удалим ее
<?php
// наш файл
$fopen=@file("file.txt");
$what="вот эту строчку ищем";
foreach($fopen as $key=>$value)
{
if(substr_count($value,$what))
{
// если нашел, удаляем
array_splice($fopen, $key, 1);
}
}
// переписал файл по новой
$f=fopen("file.txt", "w");
for($i=0;$i<count($fopen);$i++)
{
fwrite($f,$fopen[$i]);
}
fclose($f);
?>
Теперь находим и меняем строку. В принципе код мало чем отличается
<?php
// искомая строка
$for_edit="подробнее";
// на эту меняем
$what="краткоrn";
$fopen=@file("21.txt");
foreach($fopen as $key=>$value)
{
if(substr_count($value,$for_edit))
{
// если нашли
array_splice($fopen, $key, 1, $what); // заменили
}
$f=fopen("21.txt", "w"); // переписали файл
for($i=0;$i<count($fopen);$i++)
{
fwrite($f,$fopen[$i]);
}
fclose($f);
}
?>
Все отличие в том, что в array_splice мы добавили еще один параметр - это переменная $what


Остались вопросы? Спрашивайте!


Понравилась статья? Расскажи другим :)

Опубликовано: | Просмотров: 10769