Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dodawanie i usuwanie danych z pliku
dublinka
post
Post #1





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

Ostrzeżenie: (0%)
-----


Witam,

Mam plik z taka budowa:

  1. niewazne||14||14||28


Budowa tego po tym NIEWAZNE moze byc losowa.Moze zawierac taka jak teraz ale moze miec tylko jedna:
  1. niewazne||14

dwie:
  1. niewazne||14||28

lub i trzy:
  1. niewazne||14||14||28


Jak zastapic jedna z nich ale nie linie tylko pomiedzy || i potem zapisac ?

jesli przesylam formularzem 14 a tam jest juz 14 i nie moze byc zastapiona lecz dopisana i miesz postac

wczesniej
  1. niewazne||14

lub
  1. niewazne||14||14


lub jeszcze bardziej zamieszane

Moga byc max 3 wiecej nie

np. 14||14||28 lub 28||14|14 lub 14||14 lub 28 samo lub 14 samo
to jest dla mnie nie do przeskoczenia.

jak to zrobic ?

Inne rozwiazanie budowy nie wchodzi w gre bo duzo byloby do zmiany. Niby proste ale kurka nie wiem jak to ugrysc.

Bardzo Was prosze o pomoc.

Ten post edytował dublinka 20.02.2013, 17:46:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Borys, to raczej plik danych a nie konfiguracyjny więc użycie file odpada ze względu na zużycie pamięci.

Dopisywanie do pliku jest proste:
  1. //inaczej ktoś doda || i nam się rozleci
  2. $tresc = str_replace("|", "\\| ", $tresc);
  3.  
  4. $uchwyt=fopen($pliczek, 'a');
  5. flock($uchwyt, 2);
  6. $wpis = 'nick||'.$tresc.'||'.time().'||'.$nr."\r\n";
  7. fputs($uchwyt, $wpis);
  8. flock($uchwyt, 3);
  9. fclose($uchwyt);


Z edycją gorzej, trzeba parsować plik linia po linii podmieniając szukaną linię na nową. Plik obrabia się mniej więcej tak:
  1. $p_newsy = fopen('newsy.txt','r');
  2. while(!feof($p_newsy)){
  3. $linia = fgets($p_newsy);
  4. echo $linia.'<br />';
  5. }


Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 03:31