Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odporny licznik
yesomaniak
post 5.12.2003, 23:28:15
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.08.2003
Skąd: Warszawa

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


Otóz mam pewnien kłopot. Liczniki które kiedys napisalem (dzienny i totalny) sprawowaly sie doskonale az do czasy kiedy liczba gosci zaczela przekraczac 2 tys dziennie. Obecnie gdy ruch na witrynie wynosci ponad 3 tys na dobe oba zupełnie niezaleznie (choc napisane troche inaczej) i losowo potrafia po prostu sie wyzerowac i to nawet kilka razy dziennie aby znów przez 2-3 dzialac bezbłednie do czasu nastepnego padu... Przyznacie ze to troche dobijajace Cóz moze byc tego przyczyna? Czyzby dwaj uzytkownicy otworzyli plik dokladnie w tym samym momencie w dokladnoscia do tysiecznej czesci sekundy i spowodowali bład? A moze po prostu liczniki tekstowe maja taki urok?


[php:1:0e1de57019]<?php


setcookie('adonaig', '1', time()+600);

if($adonaig!="1") {

$counter_file_line = file('counter2');
$counter_file_line[0] = $counter_file_line[0]+1;

$cf = fopen('counter2', "w");
flock($cf,2);
fputs($cf, "$counter_file_line[0]");
fclose($cf); }

$counter_file_line = file('counter2');

$cf = fopen('counter2', "r");
flock($cf,2);
$ile1=fgets($cf, "$counter_file_line[0]");
fclose($cf);

$dzien = date("d.m.Y");
if(file_exists(''.$dzien.'.txt'))
{
$file=fopen(''.$dzien.'.txt', "r");
flock($file, 1);
$ile2=fgets($file, 8);
flock($file, 3);
fclose($file);
if($adonaig!="1")
{ $ile2++; }}
else {
$ile2=1; }
$file=fopen(''.$dzien.'.txt', "w");
flock($file, 2);
fwrite($file, $ile2);
flock($file, 3);
fclose($file);
?>[/php:1:0e1de57019]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mhs
post 6.12.2003, 22:10:53
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

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


jeżeli masz możliwość to może przy takiej ilości odwiedzin na dobę pasowałoby wykorzystać tutaj bazę danych i przy okazji spisywać dodatkowe informacje o użytkownikach (np. z przeglądarki jakiej korzystają, daty i czas odwiedzić) - późniejsze wybieranie danych będzie o wiele łatwiejsze niż przy plikach
Go to the top of the page
+Quote Post
yesomaniak
post 8.12.2003, 15:11:54
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.08.2003
Skąd: Warszawa

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


No coz praktycznie sam sobie odpowiadam ale pragnę poinformować
iz zamienilem na inny skrypt i narazie liczniki dzialaja wyśmienicie!

Oto nowy kod moze ktos skorzysta:

[php:1:117e74480d]<?
$fp = fopen('counter.dat', "r+");
flock($fp, 1);
$count = fgets($fp, 4096);

if($adonaig!="1") { $count += 1; }
fseek($fp,0);
fputs($fp, $count); flock($fp, 3);
fclose($fp);<?php

?>[/php:1:117e74480d]
Go to the top of the page
+Quote Post
kicaj
post 8.12.2003, 16:39:56
Post #4





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


mialem podobny problem, ale na bazie!
Byl to licznik online, i juz 3x padl, nie wiem czego to jest przyczyna ;/


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
b3
post 8.12.2003, 17:52:59
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 2
Dołączył: 25.08.2003
Skąd: Lublin

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


Cytat
mialem podobny problem, ale na bazie!
Byl to licznik online, i juz 3x padl, nie wiem czego to jest przyczyna ;/


zapewne gdzies:) w... zapytaniach do bazy... ?!
Go to the top of the page
+Quote Post
kicaj
post 8.12.2003, 18:41:16
Post #6





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


no najprostrze zapytania jakie maga byc


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
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: 19.07.2025 - 16:08