Rabu, 17 Desember 2008

[PHP] CARA MEMBUAT COUNTER SENDIRI

Hit counter adalah salah satu layanan yang biasa diletakan di web atau blog untuk melihat seberapa banyak orang yang sudah berkunjung ke web atau blog kita. Ada banyak layanan hit counter gratis yang tersedia di internet, tetapi sebenarnya membuat sebuah hit counter sendiri sangatlah mudah. Ok kita mulai saja.
Hit counter ini menggunakan php sebagai bahasa pemrogramannya dengan nama file counter.php. Untuk menyimpan data pengunjung digunakan sebuah file yang bernama counter.txt. Selain itu juga memanfaatkan sebuah cookies yang dibuat saat file ini pertama kali dijalankan. Cookies ini akan tetap ada sampai browser ditutup, cookies ini selalu dicek saat counter.php dijalankan dan jika cookies ada maka hit counter tidak akan dinaikan. Sehingga meskipun kita me refresh halaman terus menerus selama browser belum ditutup maka hit counter tetap tidak akan bertambah.
Cara kerjanya, saat dijalankan maka file counter.php akan mengecek apakah file counter.txt sudah ada. Jika belum maka file counter.txt akan dibuat.
$counter="counter.txt";\r\nif(!file_exists($counter)) {touch($counter);}Setelah itu akses file counter.txt dengan mode r+ yaitu baca dan tulis kemudian lakukan metode locking pada file agar user lain tidak bisa mengakses file tersebut apda waktu yang bersamaan. Jika ada 2 user yang mengakses secara bersamaan maka hit counter hanya akan naik sekali. Tentu hal ini akan merugikan kita if(!($fop=@fopen($counter,"r+"))) {die("[ERROR] tidak bisa membuka file $counter”);}if(!flock($fop,LOCK_EX)) {// kunci file agar user lain tidak bisa mengakses dalam waktu bersamaandie(”[ERROR] tidak bisa mengunci file $counter”);}Setelah itu ambil isi dari file counter.txt dan simpan kedalam variabel $jumlah.$jumlah=fgets($fop,1024); //ambil isi fileKemudian cek apakah cookie dengan nama counter ada, jika tidak ada maka buat cookie dengan nilai adalah nilai session_id yang bisa didapatkan dengan fungsi session_id().if(!isset($_COOKIE["count"])) { //jika cookie counter tidak adasetcookie(”count”,session_id());Kemudian jika variabel $jumlah masih kosong (waktu pertama kali dijalankan isi file counter.txt adalah kosong) set nilai variabel $jumlah dengan 0 (nol).if(!$jumlah) {\r\n $jumlah=0;}
Kemudian baca lagi file counter.txt mulai dari byte ke 0.fseek($fop,0);Tambahkan 1 ke variabel $jumlah dan tuliskan hasilnya ke file counter.txt.$jumlah=$jumlah+1;fputs($fop,$jumlah);
Setelah itu tutup akses ke file counter.txt dan tampilkan variabel $jumlah ike browser.fclose($fop);echo $jumlah;File counter.php ini bis di include kan pada file lain. Misal pada index.php agar selalu dijalankan saat ada orang yang mengakses web atau blog.include("counter.php");
Jadi saat file index.php diload oleh pengunjung secara otomatis akan mengeksekusi file counter.php.
Sekian tutorial ini, sebenarnya ada banyak cara lagi yang bisa dimanfaatkan untuk membuat sebuah hit counter, ini hanyalah salah satunya. Dan sebagai contoh hit counter inilah yang saya pasang untuk blog ini.

Tidak ada komentar: