parse_ini_file Bir yapılandırma dosyasını çözümler &reftitle.description; arrayfalseparse_ini_file stringdosyaismi boolbölümleri_işle&false; inttarama_kipiINI_SCANNER_NORMAL 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. &reftitle.parameters; dosyaismi Çözümlenecek yapılandırma dosyasının ismi. Göreli bir yol kullanılıyorsa, mevcut çalışma dizinine göre, ardından include_path değerlendirilir. bölümleri_işle Bu bağımsız değişkene &true; atanırsa bölüm isimlerini ve içerdikleri ayarları içeren çok boyutlu bir dizi döner. Bağımsız değişkenin ö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. &ini.scanner.typed; &reftitle.returnvalues; Başarısızlık durumunda &false; aksi takdirde ayarları bir ilişkisel dizi içinde döndürür. &reftitle.examples; - <filename>misal.ini</filename> içeriği - <function>parse_ini_file</function> örneği INI dosyası içinde sabitler de (fakat __FILE__ gibi sihirli sabitler değil) çö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 ve değer bir sabit olmalıdır. Örnek: ]]> &example.outputs.similar; 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 ) [urls] => Array ( [svn] => http://svn.php.net [git] => http://git.php.net ) ) 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 ) [urls] => Array ( [svn] => http://svn.php.net [git] => http://git.php.net ) ) ) ]]> - Bir php.ini dosyasının <function>parse_ini_file</function> ile çözümlenmesi ]]> &example.outputs.similar; Ara Değerler Sabitleri değerlendirmeye ek olarak, belirli karakterlerin ini değerlerinde özel anlamları vardır. Buna ek olarak, ortam değişkenleri ve önceden tanımlanmış yapılandırma seçenekleri ${}sözdizimi kullanılarak okunabilir (bkz: get_cfg_var). Öncelleme Karakterleri Bazı karakterlerin çift tırnaklı dizgelerde özel anlamları olduğundan önlerine tersbölü çizgisi konarak öncelenmeleri gerekir. Hepsinden önce, dizgenin sınırlarını belirleyen çift tırnak " ve tersbölünün \ kendisi (özel karakterlerden birini önceliyorsa) bu özel karakterlerdendir: Windows benzeri dosya yollarında bunun bir istisnası vardır: Tırnaklı dizgeyi bir satırsonu izliyorsa sondaki ters bölüyü öncelememek mümkündür: Çok satırlı bir değerde ardından satır sonu gelen bir çift tırnağın öncelenmesi gerekiyorsa, değer birleştirmeyi aşağıdaki şekilde kullanmak mümkündür (bir çift tırnaklı dizenin hemen ardından bir diğeri gelir): Özel anlamı olan karakterlerden bir diğeri $ dolar imidir. Ardından açan kaşlı ayraç geliyorsa dolar iminin öncelenmesi gerekir: Karakter önceleme INI_SCANNER_RAW kipinde desteklenmez (bu kipte tüm karakterler "oldukları gibi" işlenir). İni çözümleyicisinin standart öncelemleri (\n, \t ve benzerlerini) desteklemediğini dikkate almak gerekir. Gerekirse, parse_ini_file işlevinin sonucunu stripcslashes işleviyle yeniden işlemden geçirmek gerekebilir. &reftitle.notes; 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. 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. INI dosyalarında anahtar olarak kullanılmaması gereken bazı özel sözcükler vardır. Bunlar: null, yes, no, true, false, on, off, none. INI_SCANNER_TYPED kipi kullanılmadıkça null, off, no ve false sözcükleri "" ile sonuçlanırken, on, yes ve true sözcükleri "1" ile sonuçlanır. ?{}|&~![()^" karakterleri hiçbir yerde anahtar veya değer içinde kullanılmamalıdır. Eşit işareti içermeyen girdiler yoksayılır. Örneğin, "foo" yoksayılırken "bar =" çözümlenir ve boş değer eklenir. Örneğin, MySQL my.cnf içinde bir "no-auto-rehash" girdisine sahiptir ve herhangi bir değer almadığı için yoksayılır. ini dosyaları genellikle HTTP sunucuları tarafından düz metin olarak kabul edilir ve bu nedenle istenirse tarayıcılara sunulur. Bu, güvenlik için ini dosyalarınızı belge kök dizininiz dışında tutmanız veya HTTP sunucunuzu onlara hizmet vermeyecek şekilde yeniden yapılandırmanız gerektiği anlamına gelir. Bunlardan herhangi birinin yapılmaması bir güvenlik riski oluşturabilir. &reftitle.seealso; parse_ini_string