Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Operacja arytmetyczna na wartościach odczytywanych z pliku
Forum PHP.pl > Forum > Przedszkole
Cr@sh
Problem jest dość interesujący (jak dla mnie).

Zarówno pierwszy jak i drugi skrypt nie działają tak jak zamierzyłem w procesie pisania, zastanawiam się czemu. Gdzie błąd lub też czego w nich brakuje.
(W pliku dane txt, znajdują się wartości liczbowe)

Skrypt 1
  1. <?php
  2.  
  3. $plik = fopen("dane.txt","w");
  4.  
  5. $ilosc = fgets($plik);
  6.  
  7. $ilosc2 = $ilosc + 1;
  8.  
  9. fwrite($plik,$ilosc2);
  10.  
  11. fclose($plik);
  12.  
  13. ?>


Skrypt 2
  1. <?php
  2.  
  3. $plik = fopen("dane.txt","w");
  4.  
  5. $ilosc = fgets($plik);
  6.  
  7. ilosc++;;
  8.  
  9. fwrite($plik,$ilosc);
  10.  
  11. fclose($plik);
  12.  
  13. ?>


Dzięki za ewentualną pomoc.
Pozdrawiam!
jareeny
Cytat
(W pliku dane txt, znajdują się wartości liczbowe)


Ale fgets() i tak zwraca je jako string.
chemik1982
Problem tkwi w trybie dostępu do strumienia, Więcej:
fopen()

  1. <?php
  2. $uchwyt = fopen ("plik.txt", "r+");
  3. if ($uchwyt) {
  4.    while (!feof($uchwyt)) {
  5.        $buffer = fgets($uchwyt, 4096);
  6.        $buffer++;
  7.    }
  8. fclose ($uchwyt);
  9. }
  10.  
  11. $uchwyt = fopen ("plik.txt", "w+");
  12. fwrite($uchwyt,$buffer);
  13. fclose ($uchwyt);
  14.  
  15. echo $buffer;
  16. ?>
Cr@sh
Nie rozumiem działania "!feof", a także obecności "4096"...

Gdyby ktoś mógł dorzucić jeszcze wyjaśnienie, byłbym wdzięczny.
Pozdrawiam!
Pilsener
Tu masz tutek o plikach tekstowych:
http://www.forumweb.pl/viewtopic.php?t=39103
phpion
Jeśli to ma być licznik odwiedzin i w pliku zapisujesz jedną liczbę to możesz to zrobić krócej:
  1. <?php
  2. $licznik = (int)file_get_contents('plik.txt')+1;
  3. file_put_contents('plik.txt', $licznik);
  4. ?>
Cr@sh
Dzięki wielkie chłopaki! Cały czas jednak, nurtuje mnie liczba 4096... co ona tam robi?
Pilsener
http://pl.php.net/manual/pl/function.fgets.php - w manualu pisze - nawet po naszemu, ba - nawet doradzają, co jest szybsze. Korzystaj z manuala, masz tam opisy, przykłady... niczego więcej koderowi nie trzeba.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.