Помогни ни да направим Uroci.net по - богат! Добави урок

Онлайн статистика: IP, Refer

PHP » PHP
htorbov   трудност:    видян: 4351

Стъпка 1: Създавате functions.php в / директорията на сайта си и поставяте този код:

<?php

$onlinetxt = '/var/online.txt';


function saveOnline() {

global $onlinetxt;


$ip = $_SERVER['REMOTE_ADDR'];

$time = time();

$minutes = 1;

$found = 0;

$user = "";

$refer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Direct';


if(!is_file($onlinetxt)) {

$s = fopen($onlinetxt, "w");

fclose($s);

chmod($onlinetxt, 0666);


$f = fopen($onlinetxt, "r+");

flock($f, 2);


while(!feof($f)) {

$user[] = chop(fgets($f, 65536));

}


fseek($f, 0, SEEK_SET);

ftruncate($f, 0);


foreach($user as $line) {

list($savedip, $savedtime, $urefer) = split("|", $line);

if($savedip == $ip) {

$savedtime = $time;

$found = 1;

}

if($time < $savedtime + ($minutes * 60)) {

fputs($f, "$savedip|$savedtime|$urefern");

}

}


if($found == 0) {

fputs($f, "$ip|$time|$refern");

}

fclose($f);

}


function showOnline() {

global $onlinetxt;


$user = "";


if(!is_file($onlinetxt)) {

$s = fopen($onlinetxt, "w");

fclose($s);

chmod($onlinetxt, 0666);


$f = fopen($onlinetxt, "r+");

flock($f, 2);


while(!feof($f)) {

$user[] = chop(fgets($f, 65536));

}


print '<table>';

print '<tr style="font-weight:bold;"><td>IP адрес</td><td>Рефер</td></tr>';


foreach($user as $line) {

list($savedip, $savedtime, $urefer) = split("|", $line);

print '<tr><td>'.$savedip.'</td><td>'.$urefer.'</td></tr>';

}


print '</table>';


$users = count($user) - 1;

print 'Онлайн потребители: <b>'.$users.'</b>';


fclose($f);

}

?>

=================================

 

Стъпка 2: Създайте online.txt във вашата директория със сайта

 

=================================

 

Стъпка 3: Променяте $onlinetxt от functions.php с пътя до online.txt (примерно

D:/Web/www/online.txt) ако сте на Windows (ако сте на Linux му задайте права 777).

 

=================================

 

Стъпка 4: Сложете следният код във всяка страница, от която искате да запазва данни на посетителите:

<?php

require_once ("functions.php"); // Пътят до functions.php

saveOnline(); // Запази посетителя

?>

 

=================================

 

Стъпка 5: Сложете следният код в страницата, в която искате да показва данните на посетителите (примерно /admin/stats.php):

<?php

 

require_once ("functions.php"); // Пътят до functions.php

showOnline(); // Покажи посетителите

 

?>

 



Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com