Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Удаление строки из файла [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 2 [3]   

> Описание: Удаление строки из файла
Green
Отправлено: 28 Июля, 2012 - 12:53:57
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


Помог: 9 раз(а)




KingStar пишет:
зачем читать, если нам нужно его просто перезаписать

Да это я случайно. Писал различные варианты удаления строки из файла, а потом забыл удалить +. Подмигивание

KingStar пишет:
зачем каждый раз пеерсчитывать массив???

Нуу... Началось... Насвистываю
 
 Top
KingStar
Отправлено: 28 Июля, 2012 - 12:54:49
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




сори, лишние символы переноса строки

PHP:
скопировать код в буфер обмена
  1. $file2 = '1.txt';
  2. $fp2 = file($file2);
  3. $new = "";
  4.  
  5. foreach($fp2 as $array)
  6. {
  7.    if (!preg_match("/Привет/i", $array)) {
  8.       $new .= $array;
  9.    }
  10. }
  11.  
  12. $handle = fopen($file2, "w");
  13. fwrite($handle, $new);
  14. fclose($handle);

(Добавление)
Green пишет:
Нуу... Началось... Насвистываю


да нет, не парься Хорошо
я прост, может ты не знал, или еще чего...


-----
То что программа работает, не означает что она написана правильно!
 
 Top
Evgeniu
Отправлено: 28 Июля, 2012 - 12:57:58
Post Id



Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Огромное всем спасибо)
 
 Top
Green
Отправлено: 28 Июля, 2012 - 13:02:09
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


Помог: 9 раз(а)






KingStar пишет:
да нет, не парься

Та не, я не парюсь) Я вообще спокойно отношусь к критике)

KingStar пишет:
я прост, может ты не знал, или еще чего...

Ну почему же, знал конечно. Привычка просто... Плач )))
 
 Top
просто даня
Отправлено: 28 Июля, 2012 - 19:16:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 357
Дата рег-ции: Март 2012  
Откуда: sev-kav, budennovsk


Помог: 1 раз(а)

[+][+]


Голливудская улыбка почитал чуток, но не все прочитал...
или я чегото не догоняю либо вы не привыкли ходить по простым путям:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $s = 'Привет';
  3. $r = 'text.txt';
  4. $t = str_replace($s, '', $d);
  5. $f = fopen($r, 'w+');
  6. fwrite($f, $t);
  7. fclose($f);
  8. ?>

для одаренных) удаляет слово Привет в файле text.txt

(Отредактировано автором: 28 Июля, 2012 - 19:18:52)

 
 Top
Green
Отправлено: 28 Июля, 2012 - 19:52:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


Помог: 9 раз(а)




просто даня, Браво Гениально. Только вот ТСу нужно было удалить определенную строку, а не слово)

(Отредактировано автором: 28 Июля, 2012 - 19:55:05)

 
 Top
v.kam
Отправлено: 28 Июля, 2012 - 19:54:01
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $file_name = 'имя файла';
  3. $id = 'номер строки';
  4. $file=file("$file");
  5. for($i=0;$i<sizeof($file);$i++)
  6. if($i==$id) unset($file[$i]);
  7. $fp=fopen("$file_name","w");
  8. if (fputs($fp,implode("" ,$file))) {
  9.         fclose($fp);
  10.         echo 'строка удалена!';
  11. }
  12.  

(Отредактировано автором: 28 Июля, 2012 - 20:03:49)

 
 Top
KingStar
Отправлено: 28 Июля, 2012 - 20:04:15
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




просто даня пишет:
Голливудская улыбка почитал чуток, но не все прочитал...


ты не то, чтобы не дочитал, ты вообще ничего не прочел

v.kam
KingStar пишет:
тебе нужно строку по номеру (2-ю или 10-ю), или строку по названию ???
Evgeniu пишет:
По названию

(Добавление)
просто даня пишет:
для одаренных)


на твоем примере защиты от инекций мы все знаем твою одаренность Хорошо без обид

(Отредактировано автором: 28 Июля, 2012 - 20:05:31)



-----
То что программа работает, не означает что она написана правильно!
 
 Top
snikers987
Отправлено: 28 Июля, 2012 - 20:58:17
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Для небольших файлов, нужно PHP >= 5.3
PHP:
скопировать код в буфер обмена
  1. <?
  2. $str = "строка1\nстрока2\nстрока3\nстрока4";
  3. file_put_contents('test.txt', $str);
  4. $search = 'строка2';
  5. $rgLines = file('test.txt');
  6. file_put_contents('test.txt',  array_map(function($str) use ($search) {if(preg_match("#$search#i", $str)) return ''; return $str;}, $rgLines));


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Страниц (3): « 1 2 [3]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB