![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam problem i nie mam pojęcia co go powoduje. Mam napisany prosty licznik gości oparty na ciasteczkach. Licznik jest odporny na odświeżanie ale nalicza raz jeszcze jeśli np. zamkniemy przeglądarkę i uruchomimy ją raz jeszcze. Mi to wystarcza jednak nie wiedzieć czemu licznik co jakiś czas po prostu się zeruje. Nie mam pojęcia co może być powodem tym bardziej, że zerowanie jest zupełnie przypadkowe tzn. nigdy nie wiadomo kiedy i w jakich okolicznościach następuje. Prosił bym was o sprawdzenie kodu.
Nie wiem czy to ma znaczenie ale dodam, że dla pliku są ustawione prawa na 644. Z góry dziękuję. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Przeglądarka Ci pożera ciacho, ot co (IMG:style_emoticons/default/biggrin.gif)
Przecież ciastka wygasają... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
no rozumiem ale liczba jest zwiększana o 1 i zapisywana do pliku po czym jest odczytywana (z tego pliku) wiec nawet jak ciasteczko wygaśnie to chyba nie powoduje zerowania licznika? (usuwania wartości z pliku)
Ten post edytował Zagiewa 15.03.2012, 22:14:53 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Skopiowane z manuala:
Note: If you just want to get the contents of a file into a string, use file_get_contents() as it has much better performance than the code above. Note: Note that fread() reads from the current position of the file pointer. Use ftell() to find the current position of the pointer and rewind() to rewind the pointer position. Po wykonaniu analogicznie użyj: http://php.net/manual/en/function.file-put-contents.php (IMG:style_emoticons/default/tongue.gif) jak mogę coś dodac $wartosc = $wartosc + 1; === $wartosc++; Ten post edytował cudny 15.03.2012, 22:34:15 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
filesize
Cytat Note: The results of this function are cached. See clearstatcache() for more details. Czyli w skrócie masz np. liczbę 200000 w pliku, a używasz do odczytu fread($open, 2). Ten post edytował Necsord 15.03.2012, 22:33:15 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Odświeżam temat. Dopiero teraz bo za dużo pracy na głowie i ciężko było znaleźć chwile. Dziękuję za rady i obecnie kod wygląda tak. Proszę o ew. uwagi.
cudny - wyczytałem, że funkcja file_get_contents jak i file_put_contents sama otwiera i zamyka pliki więc pozbycie się fopen, fclose no i fwrite było poprawne? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Tak, sam kod jest teraz ok. Ale zdajesz sobie sprawę że w ten sposób przy wyłączonych cookies każdy request do serwera będzie interpretowany jako nowy odwiedzający ?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak, tak jednak ideą było stworzyć prosty aczkolwiek funkcjonalny licznik, który w przybliżeniu poda liczbę odwiedzających. Druga sprawa to przeciętny kowalski instalując przeglądarkę nie wie nawet co to pliki cookies więc ich nie wyłącza. Nawet jeśli ktoś ma włączone (standardowo) ciasteczka to po wyłączeniu przeglądarki i uruchomieniu jej raz jeszcze znów licznik go nabije.
Dziękuję wszystkim za pomocą a szczególnie "cudny" |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 7 Dołączył: 3.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nawet jeśli ktoś ma włączone (standardowo) ciasteczka to po wyłączeniu przeglądarki i uruchomieniu jej raz jeszcze znów licznik go nabije. Dziękuję wszystkim za pomocą a szczególnie "cudny" ...a niby dlaczego? przecież jak sobie ciastko ustawisz na rok to będzie tam siedzieć dopóki nie wygaśnie, lub go użytkownik sam nie usunie. W większosci przypadków ciastko będzie siedzieć dopóty, dopóki samo nie wygaśnie lub ktoś nie zmieni przeglądarki albo nie zrobi sobie reinstalacji systemu (IMG:style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 07:05 |