• 09-10-2014, 16:03:18
    #1
    Arkadaşlar projemdeki profil sayfalarını kaç kişi ziyaret etmiş gibi bir ek yapacağım
    fakat mysql ile yaparsam zaten sayfada birden fazla sorgu var diye çekiniyorum
    txt dosya ile yapmayı düşünüyorum...

    Sorum; hangisi daha sağlıklı olur ? txt dosya oluşturup veri kayıt edip çekmek MySql'e göre trafik konusunda daha avantajlı olurmuyum ?

    Txt dosya için aşagıdaki kodlamayı buldum
    eger bu durum avantajlı ise her profil için ayrı ayrı dosya oluşturmak yerine
    hepsini bir tek txt dosyasında oluşturabilirmiyim ?

    <?PHP
    # Mert Köseoğlu
    # Url: Mkoseoglu.com
     
    if(!isset($_COOKIE["Say"])){
     
    $oku = file_get_contents('sayac.txt');
    $oku = $oku+1;
    echo "$oku Kişi Ziyaret Etti.";
    file_put_contents('sayac.txt',$oku);
    # 24 Saat Cookie Ataması.Değerler Saniye Cinsinden.
    setcookie("Say","1234",time()+60*60*24);
     
    }else{
    # Mert Köseoğlu
    $oku = file_get_contents('sayac.txt');
    echo "$oku Kişi Ziyaret Etti.";
    file_put_contents('sayac.txt',$oku);
    }
    ?>
    
    <?PHP setcookie ("Say","1234",time() - 60-60*24); ?>
  • 09-10-2014, 16:10:31
    #2
    Sql ile çözmen daha iyi olacaktır. Ayrıca fazladan sorgu yapmak istemiyorsan şöyle birşey önerebilirim, profil ziyaret sayfasına yerleştirmek üzere global bir fonksiyon oluştur, bu fonksiyon profili ziyaret edilen üyelerin ID'lerini bir txt dosyasında tutsun.

    Daha sonra bir php dosyası oluştur ve bu dosya her çalıştığında o txt dosyasında idlerin hit alanını +1 etkilesin ve txt dosyasını boşaltsın. Bu dosyayıda cron ile her saat başı otomatik çalıştır. Saatte 1 sorgu ile hitleri güncellemiş olursun.
  • 09-10-2014, 16:16:47
    #3
    Üyeliği durduruldu
    şimdi bulunduğum pc den inceleyemeyeceğim ama kendi pc me geçince deneyeceğim
  • 09-10-2014, 19:25:26
    #4
    Hocam eğer sayfada başka sql sorguları yapılmışsa ayrıca sql bağlantısı kapatılmışsa sql sorgusu dosyadan veri çekmeye göre çok daha hızlı olur. Ayrıca düzenleme ve backup olayları için db hertürlü çok daha verimli olur.
  • 10-10-2014, 14:33:26
    #5
    Tşk ettim..
    PHP adminde "uye" tablosuna "ziyaret" isminde bir alan ekledim ve uye bilgileriyle beraber varsa ziyaretcileride çekiyorum..

    Ziyaretcilerin sayfayı her yenilenmesinde "ziyaret" alanı update olmasın diye session ile zamanı kontrol ettim.. şimdilik bu kadarı yeterli sanırım..

    Faklı bir düşüncesi olan varsa paylaşmasını mutlulukla karşılarım
    Hayırlı çalışmalar..
  • 10-10-2014, 14:54:12
    #6
    Developer
    normalde olması gereken session yerine kontrol için ayrı bir ip tablosu açmak(id, uid, ip, date) fakat bu şekilde de işinizi görüyorsa bence en mantıklısını yapmışsınız.