Problem:Yazdiginiz uygulama icin bir text dosyasi icinde programinizin tum ayarlarini saklamak istiyorsunuz.
Ayarlari boyle ayri bir dosyada saklamak hem kullanim acisindan kolay hemde guvenli...
Cozum: Cok basit bir algoritma ile bunu basarabiliriz.yazacagimiz 10 satirlik kod parcasi hem ayarlarinizi saklayacak hemde # ile yorum eklemenize izin verecek.
Bu yontem pahalli veritabani masarflarini karsilayamayan kullanicilar icin gercekten pratik bir cozum.
PHP:
<?php
$ayar_dosyasi = "program.konf";
$dosyaya_baglanti = @fopen($ayar_dosyasi, "r");
while ($satir = @fgets ($dosyaya_baglanti, 1024)) {
$satir = ereg_replace("#.*$", "", $satir); //# isareti ile yorum icin
list ($isim,$deger) = explode ('=',$satir);
$isim = trim ($isim);
$deger = trim ($deger);
$ayar[$isim] = $deger;
}
?>
ACIKLAMA:
Dosyamiz PHP tarafindan yapisal olarak su sekilde incelenecektir (Parse islemi) :
Isim = Serkan Hadi Ceylani Gorevi = Web Admin Super_Kullanici = Evet Makale_Yayinlama = Seviye1 #Butun yetkilere sahip kullanici seviyesi Yorum = 1 #1=Evet,2=Hayir seklinde bir ayarlama yapiliyor
seklinde ayarlarimiz olsun.Burada kullanilan # isareti ile ayarlar icin yorumlar yapilmaktadir.Bundan sonra tum dosya verileri,Index degeri soldaki ayar ismi ,ve bu indexe karsilik gelen deger de onun sagindaki ayarin kendisi olacak sekilde bir dizi icerisine yuklenir.
Eger bu sekilde ayarlari bir dizinin icerisine yuklemek istemiyorsaniz,basitce "Degisken degiskenleri" kullanarak ta ayni islemi yapabilirsiniz.Bu konu ile ilgili Oktay'in hazirladigi yaziya
while ($satir = @fgets ($dosyaya_baglanti, 1024)) {
$satir = ereg_replace("#.*$", "", $satir); //# isareti ile yorum icin
list ($isim,$deger) = explode ('=',$satir);
$isim = trim ($isim);
$deger = trim ($deger);
$$isim = $deger;
}
fclose($dosyaya_baglanti);
?>
Bu sekilde kullanildigi zaman degiskenlere kendi adlari ile ulasabilirsiniz.Ornegin konfigurasayon dosyaniz icindeki "ip_adresi" seklindeki ayara direkt olarak program icinden $ip_adresi olarak erisebilirsiniz.
Bu yontemle biraz daha guvenli bir uygulama yaratilmis oluyor.(Baska kisilerin sizin dizide sakladiginiz degisken isimlerini tahmin etmeleri halinde programa yanlis veriler gonderilebilir...)
Bu konu hakkindaki butun gorus ve sorularinizi asagidaki mail adresime gonderebilirsiniz.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
programinizin tum ayarlarini saklamak istiyorsunuz.
Ayarlari boyle ayri bir dosyada saklamak hem kullanim acisindan kolay hemde guvenli...
Cozum: Cok basit bir algoritma ile bunu basarabiliriz.yazacagimiz
10 satirlik kod parcasi hem ayarlarinizi saklayacak hemde # ile yorum eklemenize izin verecek.
Bu yontem pahalli veritabani masarflarini karsilayamayan kullanicilar icin gercekten pratik bir
cozum.
PHP:
<?php
$ayar_dosyasi = "program.konf";
$dosyaya_baglanti = @fopen($ayar_dosyasi, "r");
while ($satir = @fgets ($dosyaya_baglanti, 1024)) {
$satir = ereg_replace("#.*$", "", $satir); //# isareti ile yorum icin
list ($isim,$deger) = explode ('=',$satir);
$isim = trim ($isim);
$deger = trim ($deger);
$ayar[$isim] = $deger;
}
?>
ACIKLAMA:
Dosyamiz PHP tarafindan yapisal olarak su sekilde incelenecektir (Parse islemi) :
Isim = Serkan Hadi Ceylani
Gorevi = Web Admin
Super_Kullanici = Evet
Makale_Yayinlama = Seviye1 #Butun yetkilere sahip kullanici seviyesi
Yorum = 1 #1=Evet,2=Hayir seklinde bir ayarlama yapiliyor
seklinde ayarlarimiz olsun.Burada kullanilan # isareti ile ayarlar icin yorumlar
yapilmaktadir.Bundan sonra tum dosya verileri,Index degeri soldaki ayar ismi ,ve
bu indexe karsilik gelen deger de onun sagindaki ayarin kendisi olacak sekilde bir
dizi icerisine yuklenir.
Eger bu sekilde ayarlari bir dizinin icerisine yuklemek istemiyorsaniz,basitce
"Degisken degiskenleri" kullanarak ta ayni islemi yapabilirsiniz.Bu konu ile ilgili
Oktay'in hazirladigi yaziya
http://www.turk-php.com/stories.php?story=01/05/15/1199007
adresinden ulasilabilir.
PHP:
<?php
$ayar_dosyasi = "ayar_dosyasi.txt";
$dosyaya_baglanti = @fopen($ayar_dosyasi, "r");
while ($satir = @fgets ($dosyaya_baglanti, 1024)) {
$satir = ereg_replace("#.*$", "", $satir); //# isareti ile yorum icin
list ($isim,$deger) = explode ('=',$satir);
$isim = trim ($isim);
$deger = trim ($deger);
$$isim = $deger;
}
fclose($dosyaya_baglanti);
?>
Bu sekilde kullanildigi zaman degiskenlere kendi adlari ile ulasabilirsiniz.Ornegin
konfigurasayon dosyaniz icindeki "ip_adresi" seklindeki ayara direkt olarak
program icinden $ip_adresi olarak erisebilirsiniz.
Bu yontemle biraz daha guvenli bir uygulama yaratilmis oluyor.(Baska kisilerin
sizin dizide sakladiginiz degisken isimlerini tahmin etmeleri halinde programa
yanlis veriler gonderilebilir...)
Bu konu hakkindaki butun gorus ve sorularinizi asagidaki mail adresime
gonderebilirsiniz.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.