Posted in MySQL

Sayaç Örneği


Sayaç yapmanın birçok yolu vardır. Ben en basitinden bir uyguluma olarak, dosyalara değer yazıp bu değerler üzerinde işlem yapan bir sayaç uygulaması örneği verdim.
<?
/* Bu dosya sayac.php adi ile kaydedilecek */

# $REMOTE_ADDR degiskeni sunucu hafizasinda tutulan gecici degiskenlerdendir.
$r_ip = $REMOTE_ADDR;

$ip_dosya_ac = fopen(“./ip.txt”, ”r”);
$dosyadaki_ip = fgets($ip_dosya_ac,1024);
if ($r_ip != $dosyadaki_ip)
{
$sayac_dosyasi_ac = fopen(“./sayac.txt”, ”r”);
$eski_deger = fgets($sayac_dosyasi_ac,1024);
fclose($sayac_dosyasi_ac);

$sayac_dosyasi_yaz = fopen(“./sayac.txt”,”w”);
$yeni_deger = ++$eski_deger;
fwrite($sayac_dosyasi_yaz, $yeni_deger);
fclose($sayac_dosyasi_yaz);

$ip_dosyasi_ac = fopen(“./ip.txt”,”w”);
fwrite($ip_dosyasi_ac, $r_ip);
fclose($ip_dosyasi_ac);

echo “Sitemiz bugüne kadar <b>$yeni_deger</b> kere ziyaret edilmiştir.”;
} else {
$sayac_dosyasi_ac = fopen(“./sayac.txt”, ”r”);
$eski_deger = fgets($sayac_dosyasi_ac,1024);
fclose($sayac_dosyasi_ac);
echo “Sitemiz bugüne kadar <b>$eski_deger</b> kere ziyaret edilmiştir.”;
}
?>
Yukarıdaki dosyayı oluşturduktan sonra aynı dizine sayac.txt ve ip.txt diye iki dosya oluşturun. Yalnız sayac.txt dosyasının içine başlangıç değeri olarak 0(sıfır) yazmalısınız.
Yukarıdaki PHP programı önce ip.txt dosyasını açıp içindeki IP numarası ile ziyaretçinin IP numarasını karşılaştırıyor. Eğer iki numara aynı değilse sayaç dosyası açılıyor ve dosyada eski ziyaretçi sayısı ($eski_deger) okunuyor. Daha sonra bu okunan eski değer bir arttırılıp yani bir değişkene ($yeni_değer) atanıyor. Daha sonra IP değerinin tutulduğu dosya açılıp ziyaretçinin IP numarası bu dosyaya yazılıyor. En son olarak da ziyaretçiye sitenin bugüne kadar kaç defa ziyaret edildiğini gösteren bir mesaj ekrana yazılıyor.

Müəllif:

Graphic Designer

Bir cavab yazın

Sistemə daxil olmaq üçün məlumatlarınızı daxil edin və ya ikonlardan birinə tıklayın:

WordPress.com Loqosu

WordPress.com hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Twitter rəsmi

Twitter hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Facebook fotosu

Facebook hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

Google+ foto

Google+ hesabınızdan istifadə edərək şərh edirsinz. Çıxış / Dəyişdir )

%s qoşulma