MultiServis.Net //PHP El Kitabı

<<= Önceki Sayfa | PHP Ana Sayfa | Sonraki Sayfa =>>

Uygulamaniz icin basit konfigurasyon dosyalari hazirlamak Yazar: Serkan Tarih: 01/03/02

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 karsilamayan kullanicilar icin gercekten pratik bir cozum

> <?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

> $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.

Saglicakla kalin,

Serkan Hadi Ceylani
serkan@turk-php.com

<<= Önceki Sayfa | PHP Ana Sayfa | Sonraki Sayfa =>>