Php'de ini dosyası kullanımı

İki aylık bir aradan sonra tekrar merhaba.

Kullananlar Php'nin ne kadar pratik bir dil olduğunu fark etmiştir. Sadece web sayfaları hazırlamak için değil, bazı scripting işlemleri için bile Php oldukça uygun bir seçenek. Bu tip kendi bilgisayarımızda çalışacak uygulamalar için veritabanı kullanmak, kod yazımını yavaşlatıyor. Bu yazıda, Php ile veritabanı olmadan bilgileri kaydetmenin yollarından bahsedeceğim. Bunlardan en kullanılışlısı sanırım Ini dosyalarını kullanmak.

Ini dosyaları ile, tek bir komut yardımıyla bilgileri dosyadan bir diziye yüklemek mümkün. Öncelikle Ini dosyalarının yapılarına bir göz atalım:

[Ayarlar]
site=btgunluk.com
slogan=Kişisel bir bilişim blogu
siteacikmi=1
sayfalama=10

Yukarıda görüldüğü gibi Ini dosyalarında çeşitli bölümler oluşturabiliyoruz. Yukarıdaki örnekte Ayarlar adında bir bölüm oluşturulmuş. Daha sonra da anahtarlar ile verileri saklıyoruz. Yukarıda site anahtarında btgunluk.com değeri saklanmış. Ini dosyalarını herhangi bir metin editöründe text olarak oluşturmak mümkün. Ancak tüm web sayfalarında olduğu gibi, Ini dosyalarında da Utf-8 kodlamasını tercih etmek, sonradan Türkçe karakter sorunlarıyla uğraşmaktan sizi kurtaracaktır.

Hazırlanan bir Ini dosyasından bilgileri diziye yüklemek için parse_ini_file fonksiyonu kullanılıyor. Şu komutla dosyayı diziye yüklemek mümkün:

  $dosyaadi='config.ini';
  $inidosyasiicerigi=parse_ini_file($dosyaadi);

$inidosyasiicerigi dizisinin elemanlarına tek tek ulaşmak için aşağıdaki yapı kullanılıyor:

echo 'Tek dizi elemanı: '.$inidosyasiicerigi['site'].'<br>';

Dizinin tüm elemanlarına döngüyla ulaşmak içinse şu kodlara ihtiyaç var:

  foreach ($inidosyasiicerigi as $indis=>$deger)
  {
    echo "$indis: $deger<br>";
  }

Bazı durumlarda Ini dosyalarındaki değerleri değiştirmek isteyebiliriz. Ini dosyaları, aslında metin dosyaları olduğundan değiştirilmeleri oldukça kolay. Php metin dosyası işlemleri için genelde fopen, fwrite, fclose vs. kullanılsa da, ben daha pratik oldukları için file_get_contents ve file_put_contents kullanmayı tercih ediyorum.

Bir metin dosyasını, aşağıdaki komutla bir değişkene aktarmak mümkün:

  $dosyaadi='config.ini';
  $dosya=file_get_contents($dosyaadi);

Formdan gelen bilgileri metin dosyasına kaydetmek içinse şu kodları kullanıyorum:

  $dosyaadi='config.ini';
  $ayar=$_POST['ayar'];
  if (file_put_contents($dosyaadi, $ayar))
    echo "Ayarlar kaydedildi. <a href="index.php">Gör</a>";
  else
    echo "Ayarlar kaydedilemedi!";

Tüm bu komutların kullanıldığı bir örneği buradan indirebilirsiniz.

18.11.2012 08:27:50

Yorumlar

Bu yazıya henüz yorum yapılmamış.

Yazı hakkında yorum yapmak için, buraya tıklayın.

Kategoriler :

Arşiv :

Etiketler :

Bağlantılar :