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 :: удаления\изменения определёной строки

 PHP.SU

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


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

> Описание: науичте, покажите что и как... новичок
OverNik
Отправлено: 04 Июля, 2009 - 19:49:56
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


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




photo.txt
Цитата:
ID IDalb Name text date view
|1 |2 |Я |это я |25.03 |5 |
|2 |2 |я Улыбка |и вот я|23.05 |1 |
|3 |1 |Саша |мой дрг|02.02 |6 |
|4 |1 |инна |Мой дру|01.06 |9 |
|5 |3 |КОт |Мой кот|03.06 |0 |
|================================|


Мне нужно удалить\изменить строку с файла photo.txt, только не обычным методом.
Удалить только ту строку где $id = 5, или $name = инна, вот так.
Пожалуйста только не пишите чт $id=5 это пятая строка, возьми обычный скрипт и удали\измени имено пятую строку,
так же и с $name=inna что это 4 строка и просто нужно удалить\изменить строку №4, мне нужно научится
удалять\изменять строку с определеным текстом, или числом.
(Добавление)
что совсем не кто не сталкивался? Ниндзя

(Отредактировано автором: 04 Июля, 2009 - 20:21:38)

 
 Top
maxtet
Отправлено: 04 Июля, 2009 - 20:32:33
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Февр. 2009  
Откуда: г.Херсон


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




Так это у тебя таблица или текстовый файл?
 
 Top
Ch_chov
Отправлено: 04 Июля, 2009 - 20:36:24
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Ты пытаешься создать некое подобие базы данных на текстовых файлах.
Имхо, если у тебя нет возможности или желания использовать SQL сервер, попробуй SQLite. Будет на много проще осуществлять доступ к данным.
 
 Top
JustUserR
Отправлено: 04 Июля, 2009 - 21:03:47
Post Id



Активный участник


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


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




OverNik Да Ch_chov прав что не надо изобретать велосипед
Но всетаки по делу - самый простой способ это берем и считываем по строке (предполагается что | и \n это разделители и в тексте они не встречаются - если это не так то текст надо закодировать или удалит из нео эти символы) Потом мы считываем по строке из файла и с помощью explode разрезаем ее и смотрим ID и если он совал с нужным нам то заоминаем номер строки и удаляем уже некоторую строку


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
OverNik
Отправлено: 04 Июля, 2009 - 21:13:31
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


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




парни в sql это все просто , достаточно поставить условия WHARE id=1 или WHARE name=инна.
Вот в том и пробла что нуно в файлах Нахмурился
(Добавление)
maxtet пишет:
Так это у тебя таблица или текстовый файл?

файл
 
 Top
Burevestnik
Отправлено: 05 Июля, 2009 - 10:18:39
Post Id


Новичок


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


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




OverNik пишет:
поставить условия WHARE id=1 или WHARE name=инна.


скорее Where, а не WHARE.
 
 Top
JustUserR
Отправлено: 05 Июля, 2009 - 15:16:23
Post Id



Активный участник


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


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




OverNik
JustUserR пишет:
Самый простой способ это берем и считываем по строке (предполагается что | и \n это разделители и в тексте они не встречаются - если это не так то текст надо закодировать или удалит из нео эти символы) Потом мы считываем по строке из файла и с помощью explode разрезаем ее и смотрим ID и если он совал с нужным нам то заоминаем номер строки и удаляем уже некоторую строку


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
valenok Модератор
Отправлено: 05 Июля, 2009 - 15:39:16
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




PHP:
скопировать код в буфер обмена
  1. <?
  2. $file = file('a.dat');
  3. $c = count($file);
  4.  
  5. for($i = 0; $i < $c; $i++)
  6. {
  7.   $row = explode('|',$file[$i]);
  8.   if($row[1] == 5 || $row[2]=='инна') unset($file[$i]);
  9. }
  10.  
  11. fputs(fopen('a.dat','w+'),implode("\r\n",$file));


-----
Truly yours, Sasha.
 
My status
 Top
JustUserR
Отправлено: 05 Июля, 2009 - 18:11:31
Post Id



Активный участник


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


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




valenok А если этот файл несколько десятков или сотен мегабайт - грузить его в память нерационально
Уж лучше найти сначала нужную строку для удаления потом запомнить ее номер и потом уже с омощью пстрочного сдвига удалять


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
valenok Модератор
Отправлено: 05 Июля, 2009 - 19:01:35
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




А если на орбитальной станции Genesis II отключат электричество ?
А если этот файл 215 байт ? Загрузить им процессор не рационально.


-----
Truly yours, Sasha.
 
My status
 Top
OverNik
Отправлено: 06 Июля, 2009 - 02:29:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


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




Непонимаю, почему с файлами ак тяжело роботать?
Что бы создать алгоритм который в MySql пишется одной строкой нужно потратить как минимум три перекура. Не понял
С вопросом розобрался.
Загнал все масив, нашел нужное слово, высчитал строку где находится это слово, и обычным методом замены строки удалил\изменил её.
Всем спасибо что потратили время.
Просто есть CMS на файлах. И модуля к ней как бы нужно делать так же на файлах, хотя на Mysql модуль тоже мона подключить. Вот и думал что и как. С файлами связался впервые, так как до этого пользивался только мусколом! Подмигивание

(Отредактировано автором: 06 Июля, 2009 - 02:30:57)

 
 Top
IOpeH
Отправлено: 06 Июля, 2009 - 02:43:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 175
Дата рег-ции: Нояб. 2007  


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




OverNik, только не забывайте что если в один момент времени выполнить ваш скрипт, не блокируя (flock) файл, то файл может запоганится, но даже и flock не дает 100% гарантии отсутствия трабл... там вроде как от файловой системы многое зависит...

хе хе ложка дегтя на последок )))
 
 Top
JustUserR
Отправлено: 06 Июля, 2009 - 13:56:26
Post Id



Активный участник


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


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




Цитата:
Только не забывайте что если в один момент времени выполнить ваш скрипт
Именно поэтому в базах данных придумали транзакции Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
OverNik
Отправлено: 06 Июля, 2009 - 17:19:31
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


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




JustUserR пишет:
Именно поэтому в базах данных придумали транзакции

Это что такое? Какое то предохранения против обнуления файлов?
 
 Top
Stierus Супермодератор
Отправлено: 06 Июля, 2009 - 17:50:10
Post Id



Рекордсмен по количеству сообщений за 7 дней


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


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




к вопросу о том, как хранить информацию в файлах - посмотри Serialize() - возможно, сэкономит тебе много времени в будущем Улыбка
 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB