|
|
|
| Никак не могу разобраться...
Вот есть несколько текстовых файлов. В каждом из них - несколько строчек, ненужных. Файлов очень много, поэтому вручную их удалять - тяжело. Какая функция отвечает за удаление строк из текстовых файлов?
Заранее спасибо. Совсем уже с толку сбился, ничего не получается. | |
|
|
|
|
 1.9 Кб |
|
|
для: Fuel
(15.11.2008 в 09:21)
| | 1 вариант
Считываете файл в массив.
Удаляете из массива ненужные строки
записывате массив в файл
2 вариант
делаете временную копию файла
очищаете изначальный файл
копируете из временной копии в изначальный файл только нужные строки
удаляете временную копию
Прикрепил архивчик, в вашем случае можно с блокировкой не заморачиваться, но на будущее пригодиться. | |
|
|
|
|
|
|
|
для: Valick
(15.11.2008 в 10:01)
| | Спасибо!
Но как удалить из массива ненужные строки - они ведь в разных местах в каждом файле находятся. | |
|
|
|
|
|
|
|
для: Fuel
(15.11.2008 в 10:03)
| | они ведь в разных местах в каждом файле находятся
Ну и что? строки то одинаковые надеюсь)))
Просто обходите массив циклом foreach, ловите "рыбу" (т.е. удаляемую строку) и делаете унсет по ключу массива.
<?php
foreach($mass as $key=>$value)
{
if($value=="удаляемая строка") unset($mass[$key]);
}
?>
|
далее тем же foreach запихиваете массив обратно в файл (естественно открыв его для записи и предварительно очистив), "и танки наши быстры"))
P.S. но мне кажется второй вариант более предпочтительнее, там ненадо будет хранить весь файл в оперативной памяти, а просто копировать построчно из одного файла в другой. Хотя быстродействие снизится. Вобщем всё зависит от величины файла.... | |
|
|
|