Bu yazı da sizlere php ile .ini uzantılı dosyaları nasıl okuyabileceğimizi anlatmaya çalışacağım. Zend Framework'ün dosya yapısını inceleyen arkadaşlar, "configs" klasörü altında bulunan "application.ini" dosyasında uygulama ile ilgili çeşitli ayarların tanımlandığını görmüşlerdir. Bu örnekte bizde "config.ini" isminde bir dosya oluşturacağız ve bazı özellikler tanımlayacağız. Ardından oluşturduğumuz .ini dosyasını php ile okuyup işleyeceğiz. İlk olarak ".ini" dosyamızı oluşturalım.
config.ini
[Options] title = 'WebteDers' baseUrl = 'http://www.webteders.com/' [Database] host = 'localhost' user = 'root' password = '123456' database = 'webteders'
Evet örnek bir config.ini dosyası oluşturduk. Burada "Options" kısmında sitemizin başlığını ve domain'i tanımladık. "Database" kısmında ise genel veritabanı ayarlarımızı tanımladık. Projenizde oluşacak ihtiyaçlarınıza göre daha fazla özellikler de tanımlayabilirsiniz.
Şimdi Php tarafında böyle bir .ini dosyasını nasıl kullanabileceğimizi inceleyelim. Bu işlem için php'nin "parse_ini_file" isimli fonksiyonunu kullanıyoruz.
$dir = 'config.ini';
$config = parse_ini_file($dir);
foreach($config AS $index => $value)
{
echo $index . ' = ' . $value . '
';
}
Yukarıda ki php kodlarını çalıştırarak .ini dosyasındaki tüm özelliklere dizi şeklinde ulaşabildiğimizi görebilirsiniz. Ancak bu şekilde tüm değerler tek boyutlu dizi şeklinde geliyor. Biz .ini dosyamızda "Options" ve "Database" olmak üzere 2 tane bölüm oluşturmuştuk. Eğer çok boyutlu dizi olarak değerlere ulaşmak istersek "parse_ini_file" fonksiyonuna 2. parametre olarak "TRUE" değerini gönderebiliriz.
$dir = 'config.ini';
$config = parse_ini_file($dir,TRUE);
foreach($config AS $index => $value)
{
if(is_array($value))
{
foreach($value AS $subIndex => $subValue)
{
echo $index . '["' . $subIndex . '"]' . ' = ';
echo $value[$subIndex] . '
';
}
}
}
Gördüğünüz gibi php ile .ini dosyalarını çok kolay bir şekilde okuyup, dizi olarak kullanabiliyoruz. Eğer hazırladığınız .ini dosyasında bulunan tüm değerleri görmek isterseniz print_r($config); komutunu kullanabilirsiniz.
Okunma Sayısı : 148
Yorumlar