img
Php İle Json Ziyaretçi İstatistiği Yapımı

Php İle Json Ziyaretçi İstatistiği Yapımı

Bu anlatımda ziyaretçi bilgileriniz json formatta bir dosyada saklanacaktır. Veritabanında tutmayarak gereksiz bir bilgi yığınından kurtulacak ve txt dosyasında saklamayarakta biraz performans arttırmış olacağız. Bunun için iki ayrı fonksiyon yazdık.

İlk fonksiyonumuzu sadece ziyaretçilerimin ziyaret ettiği dosyalara veya header gibi her sayfada çağrılan bir dosyaya ekleyebilirsiniz.

function ziyaretci() {
  if(!file_exists('assets/ziyaretci.txt')) {
    touch('assets/ziyaretci.json');
  }

  $dizi['ziyaretciler'][0] = array(
    "ip" => gercekip(),
    "tarih" => date('d.m.Y'),
    //"sayfa" => $_SERVER['REQUEST_URI']
  );

  $oku = file_get_contents('assets/ziyaretci.json');
  if ($oku == '') {
    $dosya = fopen('assets/ziyaretci.json', 'w');
    fwrite($dosya, json_encode($dizi));
    fclose($dosya);
  }else{
    $decode = json_decode($oku, true);

    array_push($decode['ziyaretciler'], array(
      "ip" => gercekip(),
      "tarih" => date('d.m.Y'),
      //"sayfa" => $_SERVER['REQUEST_URI']
    ));

    $encode = json_encode($decode);

    file_put_contents("assets/ziyaretci.json", $encode, LOCK_EX);
  }
}

Fonksiyonu çalıştırmak için ziyaretci(); yazmanız yeterli.

Json dosyasına depoladığımız ip ve tarih bilgilerinin detaylarını yönetim panelinde gösterebilmek için ikinci bir fonksiyona daha ihtiyacımız var.

function ziyaretcigoster($deger) {
  $json = file_get_contents('assets/ziyaretci.json');
  if ($deger == 'bugün') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      if (date('d.m.Y',strtotime($j['tarih'])) == date('d.m.Y')) {
        $i++;
      }
    }
    return $i;
  }
  if ($deger == 'bugüntekil') {
    $json = json_decode($json,true);
    $i = 0;
    $tekilyap = array_unique($json);

    foreach ($json['ziyaretciler'] as $j) {
      if (date('d.m.Y',strtotime($j['tarih'])) == date('d.m.Y')) {
        $arr[] = $j['ip'];
      }
    }
    $unique_data = array_unique($arr);
    return count($unique_data);
  }
  if ($deger == 'dün') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      if (date('d.m.Y',strtotime($j['tarih'])) == date('d.m.Y',strtotime('yesterday'))) {
        $i++;
      }
    }
    return $i;
  }
  if ($deger == 'düntekil') {
    $json = json_decode($json,true);
    foreach ($json['ziyaretciler'] as $j) {
      if (date('d.m.Y',strtotime($j['tarih'])) == date('d.m.Y',strtotime('yesterday'))) {
        $arr[] = $j['ip'];
      }
    }
    $unique_data = array_unique($arr);
    return count($unique_data);
  }
  if ($deger == 'hafta') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      if (date('Y',strtotime($j['tarih'])) == date('Y') and date('W',strtotime($j['tarih'])) == date('W')) {
        $i++;
      }
    }
    return $i;
  }
  if ($deger == 'haftatekil') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      if (date('Y',strtotime($j['tarih'])) == date('Y') and date('W',strtotime($j['tarih'])) == date('W')) {
        $arr[] = $j['ip'];
      }
    }
    $unique_data = array_unique($arr);
    return count($unique_data);
  }
  if ($deger == 'ay') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      if (date('m.Y',strtotime($j['tarih'])) == date('m.Y')) {
        $i++;
      }
    }
    return $i;
  }
  if ($deger == 'aytekil') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      if (date('m.Y',strtotime($j['tarih'])) == date('m.Y')) {
        $arr[] = $j['ip'];
      }
    }
    $unique_data = array_unique($arr);
    return count($unique_data);
  }
  if ($deger == 'yıl') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      if (date('Y',strtotime($j['tarih'])) == date('Y')) {
        $i++;
      }
    }
    return $i;
  }
  if ($deger == 'yıltekil') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      if (date('Y',strtotime($j['tarih'])) == date('Y')) {
        $arr[] = $j['ip'];
      }
    }
    $unique_data = array_unique($arr);
    return count($unique_data);
  }
  if ($deger == 'genel') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      $i++;
    }
    return $i;
  }
  if ($deger == 'geneltekil') {
    $json = json_decode($json,true);
    $i = 0;
    foreach ($json['ziyaretciler'] as $j) {
      $arr[] = $j['ip'];
    }
    $unique_data = array_unique($arr);
    return count($unique_data);
  }
}

Ziyaretçilerin gerçek ip adresini bulmaya zorladığımız bir fonksiyonumuz var;

function gercekip() {  
  if (!empty($_SERVER['HTTP_CLIENT_IP'])) {  
    $ip=$_SERVER['HTTP_CLIENT_IP'];  
  } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];  
  } else {  
    $ip=$_SERVER['REMOTE_ADDR'];  
  } return $ip;
}

Ziyaretçi istatistiklerinin gösterimi

Bugün ki ziyaretcileri almak için ziyaretcigoster('bugün');

Bugün ki tekil ziyaretcileri almak için ziyaretcigoster('bugüntekil');

Dün ki ziyaretcileri almak için ziyaretcigoster('dün');

Dün ki tekil ziyaretcileri almak için ziyaretcigoster('düntekil');

Bu hafta ki ziyaretcileri almak için ziyaretcigoster('hafta');

Bu hafta ki tekil ziyaretcileri almak için ziyaretcigoster('haftatekil');

Bu ay ki ziyaretcileri almak için ziyaretcigoster('ay');

Bu ay ki tekil ziyaretcileri almak için ziyaretcigoster('aytekil');

Bu yıl ki ziyaretcileri almak için ziyaretcigoster('yıl');

Bu yıl ki tekil ziyaretcileri almak için ziyaretcigoster('yıltekil');

Genel ziyaretci toplamını almak için ziyaretcigoster('genel');

Genel tekil ziyaretci toplamını almak için ziyaretcigoster('geneltekil');

İlk Yorumu Yapan Sen Ol!

Web Tasarımlar

  • Lisans Yönetim Scripti 2

    7.5K
    300.00₺
  • Canlı Radyo Dark Scripti

    5.1K
    500.00₺
  • Canlı Radyo Light Scripti

    4.3K
    500.00₺
  • Rüzgar Radyo Scripti

    6.3K
    300.00₺
  • Radyo Minimal

    2.6K
    300.00₺
  • Ekitap Scripti

    4.4K
    1200.00₺
  • Aşk Sevgililer Günü Evlilik

    5.8K
    200.00₺
  • Sohbet Scripti

    5.8K
  • Dialog Whatsapp Benzeri Sohbet

    3.7K
  • Firebase Chat

    2.6K
    200.00₺
  • Kurumsal Veya Özel Site Hizmet

    1.5K
  • Web Ajans Scripti

    7.9K
    1500.00₺
  • Tekrar Kurulum Hizmeti

    1.6K
    25.00₺
  • Gümrük Ürün Yönetimi

    2K
    800.00₺
  • Ajans Scripti Kolay Kullanım

    1.8K
    500.00₺
  • Ajans Scripti V2

    2K
    500.00₺
  • Ajans Scripti V3

    1.7K
    500.00₺
  • Avukat Ve Hukuk Bürosu Scripti

    1.4K
    500.00₺
  • Avukat Ve Hukuk Bürosu Web Tasarım V2

    1.5K
    700.00₺
  • Mobil Uyumlu Çilingir Scripti

    1.4K
    500.00₺
  • Kuaför Güzellik Salonu Spa Merkezi Web Tasarım

    1.6K
    700.00₺
  • Sağlık Güzellik Poliklinik Dişçi Hastane Web Tasarımı

    1.5K
    500.00₺
  • Sağlık Güzellik Poliklinik Dişçi Hastane Web Tasarımı V2

    1.5K
    700.00₺
  • İlaçlama Şirketi Web Tasarımı

    1.2K
    500.00₺
  • İlan Web Tasarımı

    1.6K
    1000.00₺
  • İlan Web Tasarımı V2

    1.4K
    1500.00₺
  • İnşaat Firması Web Tasarımı

    1.3K
    500.00₺
  • İnşaat Firması Tasarımı V2

    1.4K
    700.00₺
  • Kitapçı Kırtasiye Web Tasarımı

    1.8K
    500.00₺
  • Kombi Klima Servisi Web Tasarımı

    1.6K
    500.00₺
  • Korku Evi Eğlence Mekanı Web Tasarımı

    1.5K
    500.00₺
  • Kurumsal Firma Web Tasarımı V2

    2.1K
    500.00₺
  • Kurumsal Firma Web Tasarımı V3

    2.1K
    500.00₺
  • Ajans Web Tasarımı V4

    1.8K
    1500.00₺
  • Kurumsal Firma Web Tasarımı V4

    2K
    500.00₺
  • Kurumsal Firma Web Tasarımı V5

    2.4K
    500.00₺
  • Kurumsal Firma Web Tasarımı V6

    2.2K
    700.00₺
  • Kurumsal Firma Web Tasarımı V7

    2.2K
    700.00₺
  • Kurumsal Firma Web Tasarımı V8

    2.4K
    700.00₺
  • Mobilya Dekorasyon Web Tasarımı

    1.5K
    500.00₺
  • Nakliyat Taşımacılık Web Tasarımı

    1.4K
    500.00₺
  • Nakliyat Taşımacılık Web Tasarımı V2

    1.4K
    500.00₺
  • Nakliyat Taşımacılık Web Tasarımı V3

    1.4K
    500.00₺
  • Ana Okulu Ve Kreş Web Tasarımı

    1.6K
    500.00₺
  • Otel Pansiyon Web Tasarımı

    1.5K
    700.00₺
  • Özel Oto Servis Web Tasarımı

    1.4K
    500.00₺
  • Rent A Car Araç Kiralama Web Tasarımı

    2.8K
    500.00₺
  • Rent A Car Araç Kiralama Web Tasarımı V2

    1.9K
    700.00₺
  • Restaurant Cafe Bar Lokanta Web Tasarımı

    1.7K
    700.00₺
  • Restaurant Cafe Bar Lokanta Web Tasarımı V2

    1.6K
    700.00₺
  • Teknik Servis Web Tasarımı

    1.6K
    500.00₺
  • Sigorta Acenta Web Tasarımı

    1.3K
    500.00₺
  • Spor Salonu Body Fitness Web Tasarımı

    1.3K
    500.00₺
  • Spor Salonu Body Fitness Web Tasarımı V2

    1.4K
    700.00₺
  • Sürücü Kursu Web Tasarımı

    1.7K
    500.00₺
  • Tek Ürün Satış Web Tasarımı

    1.8K
    500.00₺
  • Tek Ürün Satış Web Tasarımı V2

    1.5K
    700.00₺
  • Tek Ürün Yaprak Web Tasarımı

    1.5K
    1100.00₺
  • Tek Ürün Yaprak Web Tasarımı V2

    1.6K
    1100.00₺
  • Tek Ürün Satış Web Tasarımı V3

    1.7K
    700.00₺
  • Temizlik Şirketi Web Tasarımı

    1.7K
    500.00₺
  • Temizlik Şirketi Web Tasarımı V2

    1.8K
    700.00₺
  • Ajans Web Tasarımı V5

    2K
    900.00₺
  • Ajans Web Tasarımı V6

    3K
    900.00₺
  • Werock Radyo Web Tasarımı

    2.3K
    400.00₺
  • Werock Android Radyo Uygulaması

    1.2K
    1200.00₺
  • Avukat Ve Hukuk Bürosu Tasarımı V3

    312
    500.00₺
  • Kuaför Güzellik Salonu Spa Merkezi Web Tasarımı V2

    246
    500.00₺
  • Sağlık Güzellik Poliklinik Dişçi Hastane Web Tasarımı V3

    348
    500.00₺
  • İnşaat Firması Web Tasarımı V3

    304
    500.00₺
  • Kurumsal Firma Web Tasarımı V9

    402
    500.00₺
  • Mimarlık Web Tasarımı

    337
    500.00₺
  • Nakliyat Taşımacılık Web Tasarımı V4

    373
    500.00₺
  • Ana Okulu Ve Kreş Web Tasarımı V2

    353
    500.00₺
  • Psikolog Web Tasarımı

    414
    500.00₺
  • Spor Salonu Body Fitness Web Tasarımı V3

    566
    600.00₺
  • Sürücü Kursu Web Tasarımı V2

    523
    500.00₺
  • Teknik Servis Web Tasarımı V3

    547
    500.00₺