<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.filesystem.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'function.parse-ini-file.php',
    1 => 'parse_ini_file',
    2 => 'Bir yapılandırma dosyasını &ccedil;&ouml;z&uuml;mler',
  ),
  'up' => 
  array (
    0 => 'ref.filesystem.php',
    1 => 'Dosya Sistemi İşlevleri',
  ),
  'prev' => 
  array (
    0 => 'function.move-uploaded-file.php',
    1 => 'move_uploaded_file',
  ),
  'next' => 
  array (
    0 => 'function.parse-ini-string.php',
    1 => 'parse_ini_string',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'reference/filesystem/functions/parse-ini-file.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.parse-ini-file" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">parse_ini_file</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">parse_ini_file</span> &mdash; <span class="dc-title">Bir yapılandırma dosyasını çözümler</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.parse-ini-file-description">
  <h3 class="title">Açıklama</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>parse_ini_file</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$dosyaismi</code></span>, <span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$bölümleri_işle</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong></span></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$tarama_kipi</code><span class="initializer"> = <strong><code><a href="filesystem.constants.php#constant.ini-scanner-normal">INI_SCANNER_NORMAL</a></code></strong></span></span>): <span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>parse_ini_file()</strong></span> işlevi <code class="parameter">dosyaismi</code>
   ile belirtilen yapılandırma dosyasını yükler ve içindeki ayarları bir
   ilişkisel dizi içinde döndürür.
  </p>
  <p class="para">
   Belirtilen dosyanın yapısı <var class="filename">php.ini</var> dosyasının yapısıyla aynı olmalıdır.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.parse-ini-file-parameters">
  <h3 class="title">Bağımsız Değişkenler</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">dosyaismi</code></dt>
     <dd>
      <p class="para">
       Çözümlenecek yapılandırma dosyasının ismi. Göreli bir yol
       kullanılıyorsa, mevcut çalışma dizinine göre, ardından
       <a href="ini.core.php#ini.include-path" class="link">include_path</a> değerlendirilir.
      </p>
     </dd>
    
    
     <dt><code class="parameter">bölümleri_işle</code></dt>
     <dd>
      <p class="para">
       Bu bağımsız değişkene <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> 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 <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>&#039;tır.
      </p>
     </dd>
    
    
     <dt><code class="parameter">tarama_kipi</code></dt>
     <dd>
      <p class="para">
       Değeri <strong><code><a href="filesystem.constants.php#constant.ini-scanner-normal">INI_SCANNER_NORMAL</a></code></strong> (öntanımlıdır) veya
       <strong><code><a href="filesystem.constants.php#constant.ini-scanner-raw">INI_SCANNER_RAW</a></code></strong> olabilir. Eğer
       <strong><code><a href="filesystem.constants.php#constant.ini-scanner-raw">INI_SCANNER_RAW</a></code></strong> belirtilirse seçenek değerleri
       çözümlenmez.
      </p>
      <p class="para">
PHP 5.6.1 ve sonrasında bu <strong><code><a href="filesystem.constants.php#constant.ini-scanner-typed">INI_SCANNER_TYPED</a></code></strong> olarak da
belirtilebilir. Bu kipte mantıksal, null ve tamsayı türler mümkün olduğunca
korunur. <code class="literal">&quot;true&quot;</code>, <code class="literal">&quot;on&quot;</code> ve
<code class="literal">&quot;yes&quot;</code> dizge değerleri <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> değerine dönüştürülür.
<code class="literal">&quot;false&quot;</code>, <code class="literal">&quot;off&quot;</code>,
<code class="literal">&quot;no&quot;</code> ve <code class="literal">&quot;none&quot;</code> ise <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> yapılır.
<code class="literal">&quot;null&quot;</code> dizgesi ise <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> değerine dönüşür. Ayrıca, tüm
sayısal dizgeler mümkün olduğu takdirde tamsayı türe çevrilir.</p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.parse-ini-file-returnvalues">
  <h3 class="title">Dönen Değerler</h3>
  <p class="para">
   Başarısızlık durumunda <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> aksi takdirde ayarları bir ilişkisel dizi
   içinde döndürür.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.parse-ini-file-examples">
  <h3 class="title">Örnekler</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - <var class="filename">misal.ini</var> içeriği</strong></p>
    <div class="example-contents">
<div class="cdata"><pre>
; Bu bir yapılandırma dosyası örneğidir.
; php.ini içinde &#039;;&#039; ile başlayan satırlar açıklamadır.

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

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

[üçüncü_bölüm]
phpversion[] = &quot;5.0&quot;
phpversion[] = &quot;5.1&quot;
phpversion[] = &quot;5.2&quot;
phpversion[] = &quot;5.3&quot;

urls[svn] = &quot;http://svn.php.net&quot;
urls[git] = &quot;http://git.php.net&quot;
</pre></div>
    </div>

   </div>
   <div class="example" id="example-2">
    <p><strong>Örnek 2 - <span class="function"><strong>parse_ini_file()</strong></span> örneği</strong></p>
    <div class="example-contents"><p>
     INI dosyası içinde <a href="language.constants.php" class="link">sabitler</a> de
     (fakat <strong><code><a href="language.constants.magic.php#constant.file">__FILE__</a></code></strong> gibi sihirli sabitler değil) çözümlenebilir, bu bakımdan <span class="function"><strong>parse_ini_file()</strong></span> 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:
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />define</span><span style="color: #007700">(</span><span style="color: #DD0000">'AT'</span><span style="color: #007700">, </span><span style="color: #DD0000">'Doru at'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Bölümleri çözümlemeyelim<br /></span><span style="color: #0000BB">$ini_dizisi </span><span style="color: #007700">= </span><span style="color: #0000BB">parse_ini_file</span><span style="color: #007700">(</span><span style="color: #DD0000">"misal.ini"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$ini_dizisi</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Bölümleri de çözümleyelim<br /></span><span style="color: #0000BB">$ini_dizisi </span><span style="color: #007700">= </span><span style="color: #0000BB">parse_ini_file</span><span style="color: #007700">(</span><span style="color: #DD0000">"misal.ini"</span><span style="color: #007700">, </span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$ini_dizisi</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
Yukarıdaki örnek şuna benzer bir çıktı üretir:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Array
(
    [bir] =&gt; 1
    [yedi] =&gt; 7
    [hayvan] =&gt; Doru at
    [yol] =&gt; /usr/local/bin
    [URL] =&gt; http://localhost/~kullanici
    [phpversion] =&gt; Array
        (
            [0] =&gt; 5.0
            [1] =&gt; 5.1
            [2] =&gt; 5.2
            [3] =&gt; 5.3
        )

    [urls] =&gt; Array
        (
            [svn] =&gt; http://svn.php.net
            [git] =&gt; http://git.php.net
        )

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

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

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

            [urls] =&gt; Array
                (
                    [svn] =&gt; http://svn.php.net
                    [git] =&gt; http://git.php.net
                )

        )

)</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-3">
    <p><strong>Örnek 3 - Bir php.ini dosyasının <span class="function"><strong>parse_ini_file()</strong></span> ile
    çözümlenmesi</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Aşağıdaki sonuçları karşılaştırmak için basit bir işlev<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">evethayır</span><span style="color: #007700">(</span><span style="color: #0000BB">$ifade</span><span style="color: #007700">)<br />{<br /> return(</span><span style="color: #0000BB">$ifade </span><span style="color: #007700">? </span><span style="color: #DD0000">'Evet' </span><span style="color: #007700">: </span><span style="color: #DD0000">'Hayır'</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">// php_ini_loaded_file() ile php.ini dosyasının yolunu öğrenelim.<br /></span><span style="color: #0000BB">$ini_yolu </span><span style="color: #007700">= </span><span style="color: #0000BB">php_ini_loaded_file</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">// php.ini dosyasını çözümleyelim<br /></span><span style="color: #0000BB">$ini </span><span style="color: #007700">= </span><span style="color: #0000BB">parse_ini_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$ini_yolu</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Değerleri karşılaştırıp basalım; get_cfg_var() ile de aynı<br />// sonuçların alınacağına dikkat ediniz<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">'(çözümlenen) magic_quotes_gpc =' </span><span style="color: #007700">.<br />    </span><span style="color: #0000BB">evethayır</span><span style="color: #007700">(</span><span style="color: #0000BB">$ini</span><span style="color: #007700">[</span><span style="color: #DD0000">'magic_quotes_gpc'</span><span style="color: #007700">]) . </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">'(yüklenen) magic_quotes_gpc = ' </span><span style="color: #007700">.<br />    </span><span style="color: #0000BB">evethayır</span><span style="color: #007700">(</span><span style="color: #0000BB">get_cfg_var</span><span style="color: #007700">(</span><span style="color: #DD0000">'magic_quotes_gpc'</span><span style="color: #007700">)) . </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
Yukarıdaki örnek şuna benzer bir çıktı üretir:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">(çözümlenen) magic_quotes_gpc = Evet
(yüklenen) magic_quotes_gpc = Evet</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-4">
    <p><strong>Örnek 4 Ara Değerler</strong></p>
    <div class="example-contents"><p>
     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 <code class="code">${}</code>sözdizimi
     kullanılarak okunabilir (bkz: <span class="function"><a href="function.get-cfg-var.php" class="function">get_cfg_var()</a></span>).
    </p></div>
    <div class="example-contents">
<div class="cdata"><pre>
; bitsel VEYA için | kullanılır
three = 2|3

; bitsel VE için &amp; kullanılır
four = 6&amp;5

; bitsel Ayrıcalıklı VEYA için ^ kullanılır
five = 3^6

; bitsel olumsuzlama için ~ kullanılır
negative_two = ~1

; gruplama için () kullanılır
seven = (8|7)&amp;(6|5)

; PATH ortam değişkenini oku
path = ${PATH}

; &#039;memory_limit&#039; yapılandırma seçeneğini oku
configured_memory_limit = ${memory_limit}

</pre></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-5">
    <p><strong>Örnek 5 Öncelleme Karakterleri</strong></p>
    <div class="example-contents"><p>
     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 <code class="code">&quot;</code> ve
     tersbölünün <code class="code">\</code> kendisi (özel karakterlerden birini
     önceliyorsa) bu özel karakterlerdendir:
    </p></div>
    <div class="example-contents">
<div class="cdata"><pre>
tırnaklı = &quot;She said \&quot;Exactly my point\&quot;.&quot;
; İçinde tırnak imleri bulunan; bir dize elde edilir.

ipucu = &quot;Çift tırnağı öncelemek için \\\&quot; kullan&quot;
; Sonuç: Çift tırnağı öncelemek için \&quot; kullan
</pre></div>
    </div>

    <div class="example-contents"><p>
     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:
    </p></div>
    <div class="example-contents">
<div class="cdata"><pre>
save_path = &quot;C:\Temp\&quot;
</pre></div>
    </div>

    <div class="example-contents"><p>
     Ç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):
    </p></div>
    <div class="example-contents">
<div class="cdata"><pre>
long_text = &quot;Lorem \&quot;ipsum\&quot;&quot;&quot;
 dolor&quot; ; Sonuç: Lorem &quot;ipsum&quot;\n dolor
</pre></div>
    </div>

    <div class="example-contents"><p>
     Özel anlamı olan karakterlerden bir diğeri <code class="code">$</code> dolar imidir.
     Ardından açan kaşlı ayraç geliyorsa dolar iminin öncelenmesi gerekir:
    </p></div>
    <div class="example-contents">
<div class="cdata"><pre>
code = &quot;\${test}&quot;
</pre></div>
    </div>

    <div class="example-contents"><p>
     Karakter önceleme <strong><code><a href="filesystem.constants.php#constant.ini-scanner-raw">INI_SCANNER_RAW</a></code></strong> kipinde
     desteklenmez (bu kipte tüm karakterler &quot;oldukları gibi&quot; işlenir).
    </p></div>
    <div class="example-contents"><p>
     İni çözümleyicisinin standart öncelemleri (<code class="code">\n</code>,
     <code class="code">\t</code> ve benzerlerini) desteklemediğini dikkate almak gerekir.
     Gerekirse, <span class="function"><strong>parse_ini_file()</strong></span> işlevinin sonucunu
     <span class="function"><a href="function.stripcslashes.php" class="function">stripcslashes()</a></span> işleviyle yeniden işlemden geçirmek
     gerekebilir.
    </p></div>
   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.parse-ini-file-notes">
  <h3 class="title">Notlar</h3>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    Bu işlev <var class="filename">php.ini</var> 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.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    INI dosyasındaki bir değer harf ve rakamların haricinde karakterler
    içeriyorsa bu değeri çift tırnak (&quot;) imlerinin arasına almalısınız.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <span class="simpara">
    INI dosyalarında anahtar olarak kullanılmaması gereken bazı özel sözcükler
    vardır. Bunlar: <code class="literal">null</code>, <code class="literal">yes</code>,
    <code class="literal">no</code>, <code class="literal">true</code>, <code class="literal">false</code>,
    <code class="literal">on</code>, <code class="literal">off</code>, <code class="literal">none</code>.
    <strong><code><a href="filesystem.constants.php#constant.ini-scanner-typed">INI_SCANNER_TYPED</a></code></strong> kipi kullanılmadıkça
    <code class="literal">null</code>, <code class="literal">off</code>, <code class="literal">no</code> ve
    <code class="literal">false</code> sözcükleri <code class="literal">&quot;&quot;</code> ile
    sonuçlanırken, <code class="literal">on</code>, <code class="literal">yes</code> ve
    <code class="literal">true</code> sözcükleri <code class="literal">&quot;1&quot;</code> ile sonuçlanır.
    <code class="literal">?{}|&amp;~![()^&quot;</code> karakterleri hiçbir yerde anahtar veya
    değer içinde kullanılmamalıdır.
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    Eşit işareti içermeyen girdiler yoksayılır. Örneğin, &quot;foo&quot; yoksayılırken
    &quot;bar =&quot; çözümlenir ve boş değer eklenir. Örneğin, MySQL
    <var class="filename">my.cnf</var> içinde bir &quot;no-auto-rehash&quot; girdisine sahiptir
    ve herhangi bir değer almadığı için yoksayılır.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    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.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.parse-ini-file-seealso">
  <h3 class="title">Ayrıca Bakınız</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.parse-ini-string.php" class="function" rel="rdfs-seeAlso">parse_ini_string()</a> - Bir yapılandırma dizgesini &ccedil;&ouml;z&uuml;mler</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>