PDA

View Full Version : آموزش: نمایش کاربران آنلاین در فایل های مختلف



soroush.r70
یک شنبه 21 خرداد 1391, 17:37 عصر
من 3 تا اسکریپت نمایش کاربران آنلاین گیر اوردم که برای شما هم می ذارم

ثبت در فایل txt :

<?php
$config = array(
user_time => time(),
user_ip => $_SERVER['REMOTE_ADDR'];
file_name => 'users.txt'
);
$new_line = $config['user_ip'] . "|" . $config['user_time'] . "\r\n";
file_put_contents($config['file_name'], $new_line); //Write File
$online_file = file_get_contents($config['file_name']);
$online_file = explode("\r\n", $online_file);
foreach($online_file as $online_users)
{
$users = explode("|", $online_users);
if($users[1] >= time() - 300)
{
$online++;
}
}
echo $online;
?>

نمایش در فایل ini :


<?PHP
$file = "users.ini";
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$content = @file_get_contents($file);
$new_content = $ip." = ".$time;
$content .= $new_content."\r\n";
@file_put_contents($file,$content);
$users = @parse_ini_file($file);
$count = 0;
foreach($users as $ip=>$time){
if($time >= time() - 300){ // past 3 minutes
$count++;
}
} echo $
count;
?>


نمایش در فایل فکر کنم html :


<?php
$ip = $_SERVER['REMOTE_ADDR'];
$page = "index.html";
$visitor = array(
'page' => $page,
'time' => time()
);
$online = unserialize(file_get_contents('userList.txt'));
$online[$ip] = $visitor;
foreach($online as $k => $v)
{ if($online[$k]['time'] <
time() -
900)
{ unset($online[$k]);
}} foreach($online as $
k
=> $
v)
{ if(!isset($onlinecount[$online[$k]['page']]))
$onlinecount[$online[$k]['page']] = 0;
$onlinecount[$online[$k]['page']] += 1;
} file_put_contents('userList.txt', serialize($online));
?>


به نظر شما کدوم بهتر عمل می کنه و مشکل نداره...؟

soroush.r70
یک شنبه 21 خرداد 1391, 19:26 عصر
نظری ندارین...؟

soroush.r70
دوشنبه 22 خرداد 1391, 15:43 عصر
کدومش مناسب تره..؟

plague
دوشنبه 22 خرداد 1391, 18:53 عصر
همشون یکیه فرق خاصی ندارن
کاره سختی نیست بهتره با دیتابیس پیادش کنی اینا از فایل استفاده میکنن