PHP Log Kayıt Fonksiyonu

Merhabalar bugün sizlere benim de kullanmış olduğum php için yaptığınız işlemleri kayıt almanızı sağlayan bir log fonksiyonunu paylaşacağım.

Fonksiyon detaylarından bahsedecek olursak 2 parametre alır.
İlk parametre .txt dosyasını nereye kaıyt edeceğidir.
İkinci parametre ise .txt dosyasına çıktı olarak ne vereceğidir.

Örnek Kullanım : logKayit('giris.txt','Giriş İşlemi başarılı');

giris.txt görünümü ise ;

Giriş işlemi başarılı , İp adresi=(127.0.0.1),Tarih=21.1.2018 2:22:22

Fonksiyonu 2 şekilde paylaşacağım.Birisinde ayrı olarak veritabanına da kayıt edeir.

Birinci Fonksiyon sadece .txt dosyasına kayıt eder.

<?php
function logKayit($veriyolu,$cikti){
  $dosya = fopen($veriyolu,'a+');
  fwrite($dosya,$cikti.' | İp adresi='.$_SERVER['REMOTE_ADDR'].' | Tarih='.date('d.m.Y H:i:s').PHP_EOL);
  fclose($dosya);
}
?>

İkinci Fonksiyon hem txt hem veritabanına kayıt eder.

<?php
function logKayit($veriyolu,$cikti){
  global $db;
  $logEkle=$db->prepare('INSERT INTO logs SET log_icerik=:icerik,log_ip=:ip,log_tarih=:tarih');
  $logEkle->execute([
    'icerik' => $cikti,
    'ip' => $_SERVER['REMOTE_ADDR'],
    'tarih' => date('Y-m-d H:i:s')
  ]);
  $dosya = fopen($veriyolu,'a+');
  fwrite($dosya,$cikti.' | İp adresi='.$_SERVER['REMOTE_ADDR'].' | Tarih='.date('d.m.Y H:i:s').PHP_EOL);
  fclose($dosya);
}
?>

İkinci fonksiyonu kullanırken dikkat etmeniz gerekler;

global $db;

değişkenini kendi veritabanı bağlantınızı atadığınız değişken ile değiştirmelisiniz.
Bİr adet logs adında tablo oluşturun.
Sutunları sırasıyla log_id,log_icerik,log_ip,log_tarih şeklinde oluşturun.
log_tarih sütununun veritipini timestamp olarak işaretlemeyide unutmayın.
Bu ayarları yaptıktan sonra ikinci fonksiyonuda kullanabilirsiniz.
Sorularınız varsa aşağıdaki yorum gönder kısmından veya iletişim kısmından bana ulaşabilirsiniz.
İyi Çalışmalar.

Yükleniyor...