Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Operacja arytmetyczna na wartościach odczytywanych z pliku
Cr@sh
post 8.10.2008, 06:03:42
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 16.07.2007
Skąd: Grodzisk Maz.

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


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!

Ten post edytował Cr@sh 8.10.2008, 06:06:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
jareeny
post 8.10.2008, 06:36:44
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


Cytat
(W pliku dane txt, znajdują się wartości liczbowe)


Ale fgets() i tak zwraca je jako string.


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
chemik1982
post 8.10.2008, 06:38:43
Post #3





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 20.03.2007
Skąd: Bydgoszcz

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


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. ?>


--------------------
fitmate.pl - aplikacje internetowe
Go to the top of the page
+Quote Post
Cr@sh
post 8.10.2008, 07:25:33
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 16.07.2007
Skąd: Grodzisk Maz.

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


Nie rozumiem działania "!feof", a także obecności "4096"...

Gdyby ktoś mógł dorzucić jeszcze wyjaśnienie, byłbym wdzięczny.
Pozdrawiam!
Go to the top of the page
+Quote Post
Pilsener
post 8.10.2008, 07:29:59
Post #5





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

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


Tu masz tutek o plikach tekstowych:
http://www.forumweb.pl/viewtopic.php?t=39103
Go to the top of the page
+Quote Post
phpion
post 8.10.2008, 07:35:10
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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. ?>
Go to the top of the page
+Quote Post
Cr@sh
post 8.10.2008, 07:43:32
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 16.07.2007
Skąd: Grodzisk Maz.

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


Dzięki wielkie chłopaki! Cały czas jednak, nurtuje mnie liczba 4096... co ona tam robi?
Go to the top of the page
+Quote Post
Pilsener
post 8.10.2008, 07:46:43
Post #8





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

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:15