Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Вопрос по PHP (fwrite) (http://forum.oszone.net/showthread.php?t=31166)

tolik777 22-05-2004 22:35 213753

Передо мной стала такая задача:
есть файл test.txt в котором содержаться данные:
1^test1^email
3^test2^email
6^test6^email
Мне надо сделать программку, которая считывает эти данные и если первое число в строке(пусть будет 3) совпадает с заданным, то прога делает определенные действия и удаляет строчку. Т.е. как удалить только 3-юю строчку?
ЯЯ вот накидал тут, но не знаю как на PHP удалить именно определенную строчку.
If ($ar[0] == $order_id) {  
  $imail = $ar[2];
  fwrite($file,"");  //Как быть здесь?

Guest 23-05-2004 01:32 213754

Я бы на твоём месте считал весь файл в массив, потом по условию удалил ненужные элементы и записал массив заново в файл.

Vlad Drakula 23-05-2004 19:57 213755

tolik777
сделай как предложил Guest, это единственное решение, т.к. файл это поток!

Pawel gor 04-06-2004 14:22 213756

tolik777
Я тебя понял, что тебе нужно просто удалить строку из  файла, в которой первый символ какойто определенный? Могу подкинуть идею, котора работает даже если файл нельзя запихнуть в масив.
    Начнем с того что есть функция fgets, которая читает строку.
Если написать:
while (not eof($f)){
 $st=fgets($);

.......

}

то ты почтешьфайл по строчкам. Дадее условие: если первый символ не равен чему там тебе надо, то переписать строку в другой файл. Таким образом во втором файле не будет не нужной строки. Потом после закрытия файла, старый файл удаляешь, а новый переименовываешь в старый (для этого еспользуй rename(old name, new name)  ).  Ну и первый символ строки возвращает команда substr($st,0,1)  если не ошибаюсь.
Если не получиться то код подганю!


Время: 01:05.

Время: 01:05.
© OSzone.net 2001-