ďťż

[PHP] Zapisywanie do pliku... Podmiana danych!

       

Podstrony


telcocafe

Otwieram plik, odczytuje wartość, zwiększam o 1, zapisuję nową wartość do pliku iii ... wszystko działa ładnie i pięknie, ale problem pojawia się gdy zmienna znajduje się pomiędzy innymi liniami w pliku.

Zasada działania jest jak w liczniku odwiedzin, ale zmienna jest pomiędzy innymi liniami.

Pyt. Jak podmienić zmienną w pliku, która nie znajduje się na jego początku?



<? $numer_linii_z_licznikiem = 2; $plik = file('nazwa_pliku'); $plik[$numer_linii_z_licznikiem]++; $plik[$numer_linii_z_licznikiem]."\n"; $fp = fopen('nazwa_pliku', 'w'); foreach($plik as $linia) {  fwrite($fp, $linia); } ?>
Nie sprawdzałem, ale powinno działać.

Dodam jeszcze, że było już wałkowane...




Tylko mi to jeszcze wytłumacz, bo ja chce to umieć aby nie zadawać znów zbędnych pytań ;)



A może prościej mi będzie jak po odczytaniu FGets przesune znacznik na początek tej linii i nazpisze FWrite? Tylko co przesuwa znacznik na początek LINII a nie pliku?

//Udziergałem takie coś - to kod na zwiększanie danej pod podaną nazwą:
function AddClick() { $File = File('plik.txt'); $Licznik = 1; while (!$File[$Licznik] == 'nazwa zmiennej nad wartością') { $Blank = FGets($File[$Licznik]); $Licznik = $Licznik + 1; } $Licznik = $Licznik + 1; $Value = $File[$Licznik]; $Value = $Value + 1; $File[$Licznik] = $Value; $File[$Licznik] = $File[$Licznik]."\r\n"; $Plik = FOpen('plik.txt','w'); foreach($File as $Linia) { FWrite($Plik,$Linia); } FClose($Plik); }

JESTEM GENIALNY :P :P :P
Użytkownik mariuszlorenc edytował ten post 15 styczeń 2006, 18:54
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.