Banyak cara yg dapat digunakan untuk membuat engine ini, umumnya selalu menggunakan database sehingga lebih mudah untuk mengontrolnya. Cara lain dapat menggunakan suatu text file, berupa .txt, .xml atau yg lainnya. Nah disini, ane akan membahas bagaimana membuat engine tersebut menggunakan text file .txt, berikut contoh scriptnya.........
//Definisi variabel
$visitor = $_SERVER['REMOTE_ADDR'];
$time = time();
$flag = $jmlguest = 0;
//Script ini untuk mengecek, apakah ID guest sudah ada apa belum
$fp=fopen("guest_online.txt","a+");
$baca = explode("\n",fread($fp,filesize('guest_online.txt')+1));
foreach($baca as $list_guest)
{
$guest = explode(",",$list_guest);
if(eregi($visitor,$guest[0])) $flag=1;
}
//Jika ID guest belum ada, maka ID guest tersebut akan di catat.
if($flag==0) fwrite($fp,$visitor.",".$time."\n");
fclose($fp);
//Script ini untuk menghapus ID guest yg sudah tidak online lagi.
$filearray = file ('guest_online.txt');
$newarray = array();
foreach ($filearray as $list_guest )
{
$guest = explode(",",$list_guest);
//$time-300, maksudnya waktu sekarang dikurang 300 detik sebelumnya, ini bisa disesuaikan kebutuhan.
if(!eregi($visitor,$guest[0]) && ($guest[1] > ($time-300)))
{
$jmlguest++;
array_push($newarray,$guest[0].",".$guest[1]);
}
}
//ini untuk memperbaharui timestamp dari ID guest yg bersangkutan
$jmlguest++;
array_push($newarray,$visitor.",".$time."\n");
$string = implode ("",$newarray);
$fp = fopen ( 'guest_online.txt', 'w' );
fwrite ( $fp , $string );
fclose ( $fp );
//disini tinggal anda cetak jumlahnya.
echo $jmlguest." guest online";
$visitor = $_SERVER['REMOTE_ADDR'];
$time = time();
$flag = $jmlguest = 0;
//Script ini untuk mengecek, apakah ID guest sudah ada apa belum
$fp=fopen("guest_online.txt","a+");
$baca = explode("\n",fread($fp,filesize('guest_online.txt')+1));
foreach($baca as $list_guest)
{
$guest = explode(",",$list_guest);
if(eregi($visitor,$guest[0])) $flag=1;
}
//Jika ID guest belum ada, maka ID guest tersebut akan di catat.
if($flag==0) fwrite($fp,$visitor.",".$time."\n");
fclose($fp);
//Script ini untuk menghapus ID guest yg sudah tidak online lagi.
$filearray = file ('guest_online.txt');
$newarray = array();
foreach ($filearray as $list_guest )
{
$guest = explode(",",$list_guest);
//$time-300, maksudnya waktu sekarang dikurang 300 detik sebelumnya, ini bisa disesuaikan kebutuhan.
if(!eregi($visitor,$guest[0]) && ($guest[1] > ($time-300)))
{
$jmlguest++;
array_push($newarray,$guest[0].",".$guest[1]);
}
}
//ini untuk memperbaharui timestamp dari ID guest yg bersangkutan
$jmlguest++;
array_push($newarray,$visitor.",".$time."\n");
$string = implode ("",$newarray);
$fp = fopen ( 'guest_online.txt', 'w' );
fwrite ( $fp , $string );
fclose ( $fp );
//disini tinggal anda cetak jumlahnya.
echo $jmlguest." guest online";
Setelah script itu dijalankan dengan benar, maka berapa jumlah guest yg online dapat langsung diketahui, mudah bukan ?? jadi kita tidak perlu membebani database untuk hal2 sederhana semacam ini, untuk contohnya bisa buka www.propertiproperti.com dan klo ada masukkan, ane selalu open.............
guest nya kok gak keliatan berapa yang online mas? masak gak ada contohnya?
BalasHapussesekalia cek blog saya ya. thanks
@Awan -> contohnya bisa dilihat di www.propertiproperti.com. Blog ente bagus juga, kebetulan ane punya anak kecil, bisa jadi panduan untuk mengajarkannya menggambar. Salam kenal y....
BalasHapus