www.cakal.net Forumları YabadabaDuuuee

www.cakal.net Forumları YabadabaDuuuee (https://www.cakal.net/index.php)
-   Eskiler (Arşiv) (https://www.cakal.net/forumdisplay.php?f=188)
-   -   [PHP]IP Kontrollu sayaç (https://www.cakal.net/showthread.php?t=76059)

jockeя 07-11-2007 11:48 PM

[PHP]IP Kontrollu sayaç
 
<?
##################################
# Ayarlar
##################################
$fark=0; // Kaç saatte bir aynı ip girişinde sayaç arttırılmasına izin verilecek!###
$kac=3; //Minimum görüntülenecek hane sayısı... ###
$uz=".gif"; //Sayacımızın resim uzantisi... ###
$tip=1; //değer 0 ise grafik, farklı ise text sayaç olacaktır... ###
$isim="giris.txt"; //Sayac dosyasının adı... ###
################################################## ##################################

### Ip Adresini Bulma ###
if (getenv(HTTP_X_FORWARDED_FOR))
{
$ip=getenv(HTTP_X_FORWARDED_FOR);
}
else
{
$ip=getenv(REMOTE_ADDR);
}
################################################## ##################################

### Saat işlemleri ################################################## ###############
$saat=(int) mktime(date(H),date(i),date(s),date(n),date(z),dat e(y));
$saat1=(int) mktime(date(H)-$fark,date(i),date(s),date(n),date(z),date(y));
################################################## ##################################

## Ana Blok ################################################## ######################
if(!file_exists($isim)) // Counter ilk kez kullanılıyor ise bu bölüm kullanılır.
{
$dosya=fopen($isim,"w");
$deger=1;
$strdeger=(string) $deger;
goster($strdeger,$uz,$kac,$tip);
$bilgi="$deger;$ip;$saat;\n";
fwrite($dosya,$bilgi);
fclose($dosya);
}
else // Eğer counter ilk kez kullanılmıyorsa bu bölüm işletilir.
{
$i=0;
$dosya=fopen($isim,"r");
$satir=fgetcsv($dosya , 2048 , ";");
$onceki=(int) $satir[2];

if (!$deger) $deger=(int) $satir[0];
if(($ip!=$satir[1]) || ($onceki<$saat1))
/* Eğer ip farklı veya gerekli saat dolmuş ise bu bölüm işletilir*/
{
$deger++;
$i=1;
}
$strdeger=(string) $deger;
goster($strdeger,$uz,$kac,$tip);
fclose($dosya);

if ($i==1) //Eğer counter arttırılmış ise bu bölüm işletilir.
{
unlink($isim);
$dosya=fopen($isim,"w");
$bilgi="$deger;$ip;$saat;\n";
fwrite($dosya,$bilgi);
fclose($dosya);
}
}
################################################## ##################################

### Resim Veya Text Olarak Görüntüleme #############################################
function goster($strdeger,$uz,$kac,$tip)
{
$bu=strlen($strdeger);
$sifir=$kac-$bu;

for($j=0;$j<$sifir;$j++)
if ($tip==0) //Eğer grafik ise bu bölüm değil ise else işletilir.
echo"<img src='resim/0.gif'>";
else echo"0";

for($j=0;$j<$bu;$j++)
$hane[$j]=substr($strdeger,$j,1);

foreach($hane as $resim)
if ($tip==0) //Eğer grafik ise bu bölüm değil ise else işletilir.
echo"<img src='resim/".$resim.$uz."'>";
else echo"$resim";
}
################################################## ##################################
?>


Forum saati GMT +3 olarak ayarlanmıştır. Şu an saat: 07:38 PM

Yazılım: vBulletin® - Sürüm: 3.8.11   Copyright ©2000 - 2025, vBulletin Solutions, Inc.