parse_ini_file

(PHP 4, PHP 5, PHP 7)

parse_ini_fileBir yapılandırma dosyasını çözümler

Açıklama

parse_ini_file ( string $dosyaismi [, bool $bölümleri_işle = false [, int $tarama_kipi = INI_SCANNER_NORMAL ]] ) : array

parse_ini_file() işlevi dosyaismi ile belirtilen yapılandırma dosyasını yükler ve içindeki ayarları bir ilişkisel dizi içinde döndürür.

Belirtilen dosyanın yapısı php.ini dosyasının yapısıyla aynı olmalıdır.

Değiştirgeler

dosyaismi

Çözümlenecek yapılandırma dosyası.

bölümleri_işle

Bu değiştirgeye TRUE atanırsa bölüm isimlerini ve içerdikleri ayarları içeren çok boyutlu bir dizi döner. Değiştirgenin öntanımlı değeri FALSE'tır.

tarama_kipi

Değeri INI_SCANNER_NORMAL (öntanımlıdır) veya INI_SCANNER_RAW olabilir. Eğer INI_SCANNER_RAW belirtilirse seçenek değerleri çözümlenmez.

Dönen Değerler

Başarısızlık durumunda FALSE aksi takdirde ayarları bir ilişkisel dizi içinde döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
5.3.0 İsteğe bağlı tarama_kipi değiştirgesi eklendi.
5.2.7 Sözdizimi hatasında boş bir dizi yerine FALSE döndürülmeye başlandı.
5.2.4 Sayılardan oluşan anahtarlar ve bölüm isimleri artık PHP tamsayıları olarak değerlendirilmeye başlanmıştır. Bu bakımdan 0 ile başlayanlar sekizlik, 0x ile başlayanlar onaltılık tabanda değerlendirilir.
5.0.0 Çift tırnak içine alınmış değerler satırsonu karakterleri içerebilir.
4.2.1 Bu işlev safe_mode ve open_basedir yönergelerinden etkilenir olmuştur.

Örnekler

Örnek 1 - misal.ini içeriği

; Bu bir yapılandırma dosyası örneğidir.
; php.ini içinde ';' ile başlayan satırlar açıklamadır.

[ilk_bölüm]
bir = 1
yedi = 7
hayvan = AT

[ikinci_bölüm]
yol = "/usr/local/bin"
URL = "http://localhost/~kullanici"

[üçüncü_bölüm]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

Örnek 2 - parse_ini_file() örneği

INI dosyası içinde sabitler de çözümlenebilir, bu bakımdan parse_ini_file() işlevini çalıştırmadan önce bir sabiti bir ini değeri olarak tanımlamışsanız, bu sabit de sonuca dahil edilir. Sadece ini değerleri değerlendirmeye alınır. Örnek:

<?php

define
('AT''Doru at');

// Bölümleri çözümlemeyelim
$ini_dizisi parse_ini_file("misal.ini");
print_r($ini_dizisi);

// Bölümleri de çözümleyelim
$ini_dizisi parse_ini_file("misal.ini"true);
print_r($ini_dizisi);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [bir] => 1
    [yedi] => 7
    [hayvan] => Doru at
    [yol] => /usr/local/bin
    [URL] => http://localhost/~kullanici
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

)
Array
(
    [ilk_bölüm] => Array
        (
            [bir] => 1
            [yedi] => 7
            [hayvan] => Doru at
        )

    [ikinci_bölüm] => Array
        (
            [yol] => /usr/local/bin
            [URL] => http://localhost/~kullanici
        )

    [üçüncü_bölüm] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

        )

)

Örnek 3 - Bir php.ini dosyasının parse_ini_file() ile çözümlenmesi

<?php
// Aşağıdaki sonuçları karşılaştırmak için basit bir işlev
function evethayır($ifade)
{
 return(
$ifade 'Evet' 'Hayır');
}

// php_ini_loaded_file() ile php.ini dosyasının yolunu öğrenelim.
// İşlev PHP 5.2.4'ten beri kullanılabiliyor.
$ini_yolu php_ini_loaded_file();

// php.ini dosyasını çözümleyelim
$ini parse_ini_file($ini_yolu);

// Değerleri karşılaştırıp basalım; get_cfg_var() ile de aynı
// sonuçların alınacağına dikkat ediniz
echo '(çözümlenen) magic_quotes_gpc =' .
    
evethayır($ini['magic_quotes_gpc']) . PHP_EOL;
echo 
'(yüklenen) magic_quotes_gpc = ' .
    
evethayır(get_cfg_var('magic_quotes_gpc')) . PHP_EOL;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

(çözümlenen) magic_quotes_gpc = Evet
(yüklenen) magic_quotes_gpc = Evet

Notlar

Bilginize:

Bu işlev php.ini dosyasına hiçbir şey yapmaz. Zaten betiğinizi çalıştırdığınız sırada işlem yapılır. Bu işlevi sadece kendi uygulamanızın yapılandırma dosyasını okumak için kullanabilirsiniz.

Bilginize:

INI dosyasındaki bir değer harf ve rakamların haricinde karakterler içeriyorsa bu değeri çift tırnak (") imlerinin arasına almalısınız.

Bilginize: INI dosyalarında anahtar olarak kullanılmaması gereken anahtar sözcükler vardır: none, null, yes, no, on, off, true ve false. null, no ve false değerleri "" olarak, yes ve true ise "1" olarak sonuçlanır. {}|&~![()^" karakterleri anahtar içinde hiçbir yerde kullanılamaz ve değer olarak da özel bir anlama sahiptirler.

Ayrıca Bakınız