Вопрос по PHP (fwrite)

Ответить
Аватара пользователя
Guest

Вопрос по PHP (fwrite)

Сообщение Guest »

Передо мной стала такая задача:

есть файл test.txt в котором содержаться данные:

1^test1^email

3^test2^email

6^test6^email

Мне надо сделать программку, которая считывает эти данные и если первое число в строке(пусть будет 3) совпадает с заданным, то прога делает определенные действия и удаляет строчку. Т.е. как удалить только 3-юю строчку?

ЯЯ вот накидал тут, но не знаю как на PHP удалить именно определенную строчку.

If ($ar[0] == $order_id) {  

  $imail = $ar[2];

  fwrite($file,"&quotИзображение;  //Как быть здесь?
Аватара пользователя
Guest

Re: Вопрос по PHP (fwrite)

Сообщение Guest »

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

Re: Вопрос по PHP (fwrite)

Сообщение Vlad Drakula »

tolik777

сделай как предложил Guest, это единственное решение, т.к. файл это поток!
Аватара пользователя
Pawel gor

Re: Вопрос по PHP (fwrite)

Сообщение Pawel gor »

tolik777

Я тебя понял, что тебе нужно просто удалить строку из  файла, в которой первый символ какойто определенный? Могу подкинуть идею, котора работает даже если файл нельзя запихнуть в масив.

    Начнем с того что есть функция fgets, которая читает строку.

Если написать:

while (not eof($f)){

 $st=fgets($);



.......



}



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

Если не получиться то код подганю!
Ответить

Вернуться в «Вебмастеру»