![]() |
Передо мной стала такая задача:
есть файл test.txt в котором содержаться данные: 1^test1^email 3^test2^email 6^test6^email Мне надо сделать программку, которая считывает эти данные и если первое число в строке(пусть будет 3) совпадает с заданным, то прога делает определенные действия и удаляет строчку. Т.е. как удалить только 3-юю строчку? ЯЯ вот накидал тут, но не знаю как на PHP удалить именно определенную строчку. If ($ar[0] == $order_id) { $imail = $ar[2]; fwrite($file,""); //Как быть здесь? |
Я бы на твоём месте считал весь файл в массив, потом по условию удалил ненужные элементы и записал массив заново в файл.
|
tolik777
сделай как предложил Guest, это единственное решение, т.к. файл это поток! |
tolik777
Я тебя понял, что тебе нужно просто удалить строку из файла, в которой первый символ какойто определенный? Могу подкинуть идею, котора работает даже если файл нельзя запихнуть в масив. Начнем с того что есть функция fgets, которая читает строку. Если написать: while (not eof($f)){ $st=fgets($); ....... } то ты почтешьфайл по строчкам. Дадее условие: если первый символ не равен чему там тебе надо, то переписать строку в другой файл. Таким образом во втором файле не будет не нужной строки. Потом после закрытия файла, старый файл удаляешь, а новый переименовываешь в старый (для этого еспользуй rename(old name, new name) ). Ну и первый символ строки возвращает команда substr($st,0,1) если не ошибаюсь. Если не получиться то код подганю! |
Время: 01:05. |
Время: 01:05.
© OSzone.net 2001-