Witam
Potrzebuje bardzo prostego skryptu do liczenia odwiedzin stron
ponieważ znalazłem jeden długi … a potrzebuje krótszego…
<?php
// $ip=$_SERVER['REMOTE_ADDR'];
$moj_adres="83.83.255.255";
function polnoc()
{
$teraz = date("H:i:s");
$czas = explode(":", $teraz);
$godziny = 23-$czas[0];
$minuty = 59-$czas[1];
$sekundy = 59-$czas[2];
$waznosc = $godziny*3600 + $minuty*60 + $sekundy;
return $waznosc;
}
if((!isset($_COOKIE['licznik'])) && ($ip != $moj_adres))
{
$plik = fopen("licznik.txt", "r");
$tekst = fread($plik, filesize("licznik.txt"));
$dane = explode(";", $tekst);
fclose($plik);
$plik = fopen("licznik.txt", "w");
flock($plik, 2);
$dane[0]++;
fwrite($plik, "$dane[0];", 15);
flock($plik, 3);
fclose($plik);
$data = date("Y-m-d");
$dzienny=fopen("dzienny.txt","r");
$dzienny_tekst =fread($dzienny, filesize("dzienny.txt"));
$dane2 = explode(":", $dzienny_tekst);
fclose($dzienny);
if($dane2[0]==$data)
{ $dane2[1]++;
$dzienny=fopen("dzienny.txt","w");
flock($dzienny, 2);
fwrite($dzienny, "$dane2[0]:$dane2[1]:$dane2[2]:$dane2[3]", 30);
flock($dzienny, 3);
fclose($dzienny);
}
else
{ $dane2[2]=$dane2[0];
$dane2[3]=$dane2[1];
$dane2[0]=$data;
$dane2[1]=1;
$dzienny=fopen("dzienny.txt","w");
flock($dzienny, 2);
fwrite($dzienny, "$dane2[0]:$dane2[1]:$dane2[2]:$dane2[3]", 30);
flock($dzienny, 3);
fclose($dzienny);
}
setcookie("licznik", "zliczono", time()+polnoc()+1 );
}else{
$plik = fopen("licznik.txt", "r");
$tekst = fread($plik, filesize("licznik.txt"));
$dane = explode(";", $tekst);
fclose($plik);
$dzienny=fopen("dzienny.txt","r");
$dzienny_tekst =fread($dzienny, filesize("dzienny.txt"));
$dane2 = explode(":", $dzienny_tekst);
fclose($dzienny);
}
define('FILE_NAME','line.php');
function gsf_minutes($minutes)
{
return 60 * $minutes;
} #end function gsf_minutes()
function gsf_hours($hours)
{
return 3600 * $hours;
} #end function gsf_hours()
function gsf_days($days)
{
return 86400 * $days;
} #end function gsf_days()
function visitors()
{
global $online2;
$online = count($online2);
if($online == 0)
return 1;
else
return $online;
} #end function visitors()
if(file_exists(FILE_NAME))
{
$online = file(FILE_NAME);
foreach($online as $on)
{
$part = explode("\t",$on);
$online2[rtrim($part[0])] = $part[1];
}
unset($online2[$_SERVER['REMOTE_ADDR']]);
$online2[$_SERVER['REMOTE_ADDR']] = time();
foreach(array_keys($online2) as $on)
{
if($online2[$on] < (time() - gsf_minutes('5')))
unset($online2[$on]);
else
$file_ .= "$on \t $online2[$on] \n";
}
}
else
{
$file_ = $_SERVER['REMOTE_ADDR']."\t".time()."\n";
}
$file = fopen(FILE_NAME,'w');
flock($file, LOCK_EX);
fwrite($file,$file_);
flock($file, LOCK_UN);
fclose($file);
?>
Łącznie :<?php echo($dane[0]); ?>
Dzisiaj :(<?php echo($dane2[0]); ?>) : <?php echo($dane2[1]); ?>
Wczoraj :(<?php echo($dane2[2]); ?>) : <?php echo($dane2[3]); ?>
online: <? echo visitors(); ?>
Złączono Posta _: 22.11.2007 (Czw) 12:57_Dobra znalazłem krótszy… teraz mam problem ze zrobieniem z wyświetlaniu ilości mam cały czas tylko 1 odwiedzine…
<?
$cookie++;
setcookie("cookie");
printf ("Liczba odwiedzin strony to: $cookie");
?>