Autor Zpráva
majcur
Profil
Uz dlho som sa pokusal spravit v php pocitadlo - pocet navstevníkov online (kolko ludi prave cita moje stranky) ale nejde mi to. Aj ked sme dvaja na stranke s inymi ip-ckami, stale je tam cislo 1. Tiez som si samozrejme vytvoril subor log.txt.

tu je ten script:
(je to z pc_svetu)


<?php

// Zde napište čas v minutách
// během této doby se bude
// jedno navštívení vaší stránky
// počítat jako online přístup.
// Po jeho uplynutí budou staré
// záznamy smazány.
$timer = 2;
// Název souboru pro ukládání údajů
$filename = "log.txt";

if (!$datei) $datei = dirname(__FILE__)."/$filename";
$time = @time();
$ip = $REMOTE_ADDR;
$string = "$ip|$time\n";
$a = fopen("$filename", "a+");
fputs($a, $string);
fclose($a);

$timeout = time()-(60*$timer);

$all = "";
$i = 0;
$datei = file($filename);
for ($num = 0; $num < count($datei); $num++) {
$pieces = explode("|",$datei[$num]);

if ($pieces[1] > $timeout) {
$all .= $pieces[0];
$all .= ",";
}
$i++;
}

$all = substr($all,0,strlen($all)-1);
$arraypieces = explode(",",$all);
$useronline = count(array_flip(array_flip($arraypieces)));

// Vypíše počet online uživatelů
// VÝSTUP
echo $useronline;
// VÝSTUP

// Mazání prošlých záznamů
$dell = "";
for ($numm = 0; $numm < count($datei); $numm++) {
$tiles = explode("|",$datei[$numm]);
if ($tiles[1] > $timeout) {
$dell .= "$tiles[0]|$tiles[1]";
}
}

if (!$datei) $datei = dirname(__FILE__)."/$filename";
$time = @time();
$ip = $REMOTE_ADDR;
$string = "$dell";
$a = fopen("$filename", "w+");
fputs($a, $string);
fclose($a);
?>
WertriK
Profil *
Vubec se mi to nechce lustit, ale radim ti delej to pres db a ne pres soubor. Pomoci db je to hracka

- ulozis ip + cas

pocet online

$do = od aktualniho casu odectes treba 2 minutky

vyberes z db ipcka ktere maji cas vetsi nez je $do a vymazes ty ktere maji cas mensi ....
simka00
Profil
možná by se ti hodilo toto:
http://interval.cz/clanky/pocet-online-ctenaru-v-php-bez-pouziti-datab aze/
majcur
Profil
to: simka00
diky, uz mi to ide :)
Toto téma je uzamčeno. Odpověď nelze zaslat.