Удаление определенных строк из файла...

JustLikeFar

Новичок
Удаление определенных строк из файла...

Если файл состоит из ссылок типа <A HREF = './content/dftghj.txt'>dftghj</a>
их несколько, как удалить некоторые строки из этого файла???
 

SiMM

Новичок
1. Прочитать файл в строку.
2. Удалить из строки лишнее.
3. Записать строку в файл.
Либо читать файл в массив со строками - остальное - аналогично.
 

crocodile2u

http://vbolshov.org.ru
1) Использовать свой текстовый редактор.

2) Догадываясь, что нужно с пом. пхп это сделать, рекомендуется к чтению раздел мануала Filesystem Functions. Конкретно - fopen(), fputs() и file()
 

dmitryk

Новичок
А поподробнее? Какой критерий отбора строк для удаления? Если он есть - пиши regexp.
 

JustLikeFar

Новичок
<A HREF = './content/dftghj.txt'>dftghj</a><br>
<A HREF = './content/hdhfdhfd.txt'>hdhfdhfd</a><br> <-удалить
<A HREF = './content/sdfg.txt'>sdfg</a>><br>
Мне допустим не нужна 2ая строка как её удалить ???
 

dmitryk

Новичок
$arr=file('fname');
$fp=fopen('fname','w');
for ($i=0,$cnt=count($arr);$i<$cnt;$i++){
if ($i!=1){
fwrite($fp,$arr[$i]);
}
}
fclose($fp);
 

NiGal

Новичок
Автор оригинала: dmitryk
$arr=file('fname');
$fp=fopen('fname','w');
for ($i=0,$cnt=count($arr);$i<$cnt;$i++){
if ($i!=1){
fwrite($fp,$arr[$i]);
}
}
fclose($fp);
Прошу помочь и мне..
Дело в том, что при работе с файлом нужно после его прочтения удалить первые 50 строк.
Учитывая, что в файле находится строк эдак 7000, каждый раз при вызове сценария загонять его в массив и потом построчно переписывать все после 50ой - неудачное решение.

Есть ли что проще и вернее для моего случая?!

Всем спасибо.

Файл *.csv
В файле 7500 строк.
Задача - после вызова сценария удалить из файла первые N строк.
 

kruglov

Новичок
не загоняйте в массив, а построчно читайте и пишите в другой файл.
 

dimagolov

Новичок
если задача сводиться к тому, чтобы отрезать малое кол-во строк из начала большого файла, то можно оптимизировать так:
1. найти смещение начала нужной части читая построчно.
2. продолжить чтения блоками фиксированного размера и записывать их бинарно в новый файл.
 
Сверху