<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.control-structures.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'function.include.php',
    1 => 'include',
    2 => 'include',
  ),
  'up' => 
  array (
    0 => 'language.control-structures.php',
    1 => 'Denetim Yapıları',
  ),
  'prev' => 
  array (
    0 => 'function.require.php',
    1 => 'require',
  ),
  'next' => 
  array (
    0 => 'function.require-once.php',
    1 => 'require_once',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/control-structures/include.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.include" class="sect1">
 <h2 class="title">include</h2>
 <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p>
 <p class="simpara">
  <code class="literal">include</code> ifadesi belirtilen dosyayı betiğe ekler ve
  içeriğini değerlendirir.
 </p>
 <p class="simpara">
  Betiğe dahil edilecek dosyalar önce belirtilen dizinde aranır, eğer bir dizin
  belirtilmemişse <a href="ini.core.php#ini.include-path" class="link">include_path</a>
  yönergesinde belirtilen yollarda aranır. Dosya
  <a href="ini.core.php#ini.include-path" class="link">include_path</a> içinde yoksa
  <code class="literal">include</code> son çare olarak çağrıcı betiğin kendi dizinine ve o
  anki çalışma dizinine bakar, bulamazsa bir <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>
  çıktılar; <span class="function"><a href="function.require.php" class="function">require</a></span> için bu davranış bir
  <strong><code><a href="errorfunc.constants.php#constant.e-error">E_ERROR</a></code></strong> olarak kendini gösterir.
 </p>
 <p class="simpara">
  Son <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> veya <strong><code><a href="errorfunc.constants.php#constant.e-error">E_ERROR</a></code></strong>
  çıktılanmadan önce, dosyaya erişilemiyorsa, <code class="literal">include</code> ve
  <code class="literal">require</code>, her ikisi de sırayla ek
  <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>&#039;leri çıktılar.
 </p>
 <p class="simpara">
  Bir dizin belirtilmişse - mutlak (Windows&#039;ta bir sürücü harfi veya
  <code class="literal">\</code> ile başlıyorsa veya Unix sistemlerinde
  <code class="literal">/</code> ile başlıyorsa) veya geçerli dizine göreli
  (<code class="literal">.</code> veya <code class="literal">..</code> ile başlıyorsa)- <a href="ini.core.php#ini.include-path" class="link">include_path</a> yönergesine bakılmaz. Örneğin
  bir dosya <code class="literal">../</code> ili başlıyorsa PHP çözümleyicisi dosyayı
  betiğin bulunduğu dizinin üst dizininde arayacaktır.
 </p>
 <p class="simpara">
  PHP&#039;nin dahil edilen dosyaları nasıl ele aldığı
  <a href="ini.core.php#ini.include-path" class="link">include_path</a> yönergesinin
  açıklamasında ayrıntılı olarak anlatılmıştır.
  </p>
 <p class="simpara">
  Bir dosya bir betiğe dahil edildiğinde, bu dosyanın içerdiği kod,
  dosyanın dahil edildiği satır itibariyle ana betikte geçerli olan <a href="language.variables.scope.php" class="link">değişken uzayını</a> miras alır.
  Yani, dosyanın dahil edildiği satıra kadar mevcut değişkenlerin hepsi
  dahil edilen dosyanın içinde kullanılabilir olacaktır. Bunun yanında,
  dahil edilen dosyada tanımlanmış işlevlerin ve sınıfların tamamı ana
  betiğin genelinde tanımlanmış sayılır.
 </p>
 <p class="para">
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - Basit bir <code class="literal">include</code> örneği</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">vars.php<br /><span style="color: #0000BB">&lt;?php<br /><br />$renk </span><span style="color: #007700">= </span><span style="color: #DD0000">'yeşil'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$meyve </span><span style="color: #007700">= </span><span style="color: #DD0000">'elma'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;<br /></span><br />dnm.php<br /><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"Bir </span><span style="color: #0000BB">$renk</span><span style="color: #DD0000"> </span><span style="color: #0000BB">$meyve</span><span style="color: #DD0000">"</span><span style="color: #007700">; </span><span style="color: #FF8000">// -&gt; Bir<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">'vars.php'</span><span style="color: #007700">;<br /><br />echo </span><span style="color: #DD0000">"Bir </span><span style="color: #0000BB">$renk</span><span style="color: #DD0000"> </span><span style="color: #0000BB">$meyve</span><span style="color: #DD0000">"</span><span style="color: #007700">; </span><span style="color: #FF8000">// -&gt; Bir yeşil elma<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
 </p>
 <p class="simpara">
  <code class="literal">include</code> deyimi, bir işlevin içinde kullanılırsa dahil
  edilmek istenen dosyanın içindeki tüm kodlar sanki o işlev içinde
  tanımlanmış gibi çalıştırılacaktır. Bu durumda dahil edilen dosyadaki
  kodlar, işlevin, dosyanın dahil edildiği noktadaki değişken uzayını
  miras alacaktır. Bu kuralın istisnası dosya dahil edilmeden önce
  çözümleyici tarafından işleme sokulan  <a href="language.constants.predefined.php" class="link">sihirli sabitler</a>dir.
 </p>
 <p class="para">
   <div class="example" id="example-2">
   <p><strong>Örnek 2 - İşlev içi <code class="code">include</code> kullanımı</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">function </span><span style="color: #0000BB">foo</span><span style="color: #007700">()<br />{<br />    global </span><span style="color: #0000BB">$renk</span><span style="color: #007700">;<br /><br />    include </span><span style="color: #DD0000">'vars.php'</span><span style="color: #007700">;<br /><br />    echo </span><span style="color: #DD0000">'Bir $renk $meyve'</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">/* vars.php, foo() işlevinin etki alanındadır<br /> * dolayısıyla $meyve bu alanın dışında<br /> * kullanılamamaktadır. $renk ise global olarak<br /> * tanımlandığından kullanılabilir<br /> */<br /></span><span style="color: #0000BB">foo</span><span style="color: #007700">();                      </span><span style="color: #FF8000">// Bir yeşil elma<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">'Bir $renk $meyve'</span><span style="color: #007700">;    </span><span style="color: #FF8000">// Bir yeşil<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </p>
 <p class="simpara">
  Bir dosya bir betiğe dahil edildiğinde, çözümleme işlemi PHP kipinden
  çıkıp hedef dosyanın başlangıcında HTML kipine geçer ve dosyanın sonuna
  kadar HTML kipinde kalır. Bu sebeple, hedef dosyanın içindeki kodlardan
  PHP kodları olarak çalıştırılacaklar <a href="language.basic-syntax.phpmode.php" class="link">PHP başlangıç ve bitiş
  etiketleri</a> arasına alınmalıdır.
 </p>
 <p class="simpara">
  &quot;<a href="filesystem.configuration.php#ini.allow-url-include" class="link">URL include sarmalayıcıları</a>&quot;
  PHP&#039;de etkinleştirilmiş ise (öntanımlı yapılandırmada etkindirler),
  <code class="literal">include</code> deyiminde yerel dosya yolu belirtmek yerine
  (HTTP ya da desteklenen başka bir sarmalayıcı üzerinden - <a href="wrappers.php" class="xref">Desteklenen Protokoller ve Sarmalayıcılar</a> bölümününe bakınız) bir URL kullanabilirsiniz.
  Hedef sunucu, hedef dosyayı PHP kodu olarak çalıştırabiliyorsa, ana
  betikteki değişkenler dahil edilen dosyaya  bir URL istek dizgesi olarak
  HTTP GET ile aktarılabilir. Bu durum dahil edilen dosyaya ana dosyanın
  değişken uzayını miras olarak bırakmaktan biraz farklı bir şeydir; betik
  aslında uzak sunucuda çalıştırılıp yerel betiğe sonuçlar dahil
  edilmektedir.
 </p>
 <p class="para">
  <div class="example" id="example-3">
   <p><strong>Örnek 3 - HTTP üzerinden <code class="code">include</code></strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">/* Bu örnekte  mesela.dom sitesinin .php uzantılı dosyaları<br /> * çalıştırabildiği ama .txt uzantılıları çalıştırmadığı<br /> * varsayılmıştır. Ayrıca, buradaki 'Çalışır'ın manası<br /> * $foo ve $bar değişkenlerinin dahil edilen dosyada kullanılabilir<br /> * olduğudur. */<br /><br />// Çalışmaz; dosya.txt dosyası mesela.dom sitesinde çalıştırılmaz<br /></span><span style="color: #007700">include </span><span style="color: #DD0000">'http://mesela.dom/dosya.txt?foo=1&amp;bar=2'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Çalışmaz; yerel dosya sisteminde 'dosya.php?foo=1&amp;bar=2'<br />// adında bir dosya olarak aranır.<br /></span><span style="color: #007700">include </span><span style="color: #DD0000">'dosya.php?foo=1&amp;bar=2'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Çalışır.<br /></span><span style="color: #007700">include </span><span style="color: #DD0000">'http://www.example.com/dosya.php?foo=1&amp;bar=2'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </p>
 <div class="warning"><strong class="warning">Uyarı</strong>
  <h1 class="title">Güvenlik uyarısı</h1>
  <p class="para">
    Uzaktaki dosya uzaktaki sunucu tarafından işlenebilir (dosyanın
    uzantısına ve uzaktaki sunucunun PHP çalıştırıp çalıştırmadığına bağlı
    olarak). Ancak, elde edilecek çıktı yerel sunucuda çalıştırılacağından
    bu işlemin sonucu mutlaka geçerli bir PHP betiği üretmek olmalıdır.
    Dosyanın uzaktaki sunucuda işlenip sadece sonucun çıktılanmasını
    istiyorsanız <span class="function"><a href="function.readfile.php" class="function">readfile()</a></span> işlevi daha iyi bir seçim
    olacaktır. Aksi takdirde, uzakta çalıştırılan betiğin geçerli ve istenen
    kodu üretebilmesini güvence altına alabilmek için özel bir çaba harcamak
    gerekir.
  </p>
 </div>
 <p class="para">
  Ayrıca, bu konuyla ilgili olarak <a href="features.remote-files.php" class="link">Uzaktaki dosyaların kullanımı</a> belgesiyle
  <span class="function"><a href="function.fopen.php" class="function">fopen()</a></span> ve <span class="function"><a href="function.file.php" class="function">file()</a></span> işlevlerine de
  bakınız.
 </p>
 <p class="simpara">
  <code class="literal">return</code> kullanımı: <code class="literal">include</code> başarısız
  olursa <code class="literal">FALSE</code> döndürür ve bir uyarı verir. Başarılı
  olursa, içerildikleri dosya tarafından aksi belirtilmedikçe
  <code class="literal">1</code> döndürür. Dahil edilen dosyanın içersinde, bu
  dosyanın işlenmesi durdurmak ve dahil eden betiğe geri dönmek için
  <span class="function"><a href="function.return.php" class="function">return</a></span> kullanılabilir. Ayrıca, dahil edilen
  dosyalardan değer döndürmek de mümkündür. Normal bir işlevde olduğu
  gibi, <code class="literal">include</code> çağrısından elde edilen değeri bir
  değişkene atayabilirsiniz. Ancak bu durum, uzaktaki dosyalar için,
  sadece uzaktaki dosyanın çıktısı <a href="language.basic-syntax.phpmode.php" class="link">geçerli PHP başlangıç ve bitiş
  etiketlerine</a> sahipse (herhangi yerel bir dosyada olduğu gibi),
  kullanılabilir. Gerekli değişkenler bu etiketlerin arasında
  tanımlandığında dosyanın dahil edildiği noktadan itibaren kullanılabilir
  olacaklardır.
 </p>
 <p class="para">
  <code class="literal">include</code> özel bir dil oluşumu olduğundan,
  bağımsız değişkeninin parantez içine alınması gerekmez. Dönüş değerini
  karşılaştırırken buna dikkat edin.
  <div class="example" id="example-4">
   <p><strong>Örnek 4 - <code class="code">include</code> dönüş değerinin karşılaştırılması</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">// çalışmaz, include(('vars.php') == TRUE) olarak değerlendirilir,<br />// sonuç include('1') olur<br /></span><span style="color: #007700">if (include(</span><span style="color: #DD0000">'vars.php'</span><span style="color: #007700">) == </span><span style="color: #0000BB">TRUE</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">'TAMAM'</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// çalışır<br /></span><span style="color: #007700">if ((include </span><span style="color: #DD0000">'vars.php'</span><span style="color: #007700">) == </span><span style="color: #0000BB">TRUE</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">'TAMAM'</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </p>
 <p class="para">
  <div class="example" id="example-5">
   <p><strong>Örnek 5 - <code class="code">include</code> ve <code class="code">return</code> deyimleri</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">return.php<br /><span style="color: #0000BB">&lt;?php<br /><br />$var </span><span style="color: #007700">= </span><span style="color: #DD0000">'PHP'</span><span style="color: #007700">;<br /><br />return </span><span style="color: #0000BB">$var</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;<br /></span><br />noreturn.php<br /><span style="color: #0000BB">&lt;?php<br /><br />$var </span><span style="color: #007700">= </span><span style="color: #DD0000">'PHP'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;<br /></span><br />testreturns.php<br /><span style="color: #0000BB">&lt;?php<br /><br />$foo </span><span style="color: #007700">= include </span><span style="color: #DD0000">'return.php'</span><span style="color: #007700">;<br /><br />echo </span><span style="color: #0000BB">$foo</span><span style="color: #007700">; </span><span style="color: #FF8000">// 'PHP' basar<br /><br /></span><span style="color: #0000BB">$bar </span><span style="color: #007700">= include </span><span style="color: #DD0000">'noreturn.php'</span><span style="color: #007700">;<br /><br />echo </span><span style="color: #0000BB">$bar</span><span style="color: #007700">; </span><span style="color: #FF8000">// 1 basar<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

  </div>
 </p>
 <p class="simpara">
  <code class="literal">include</code> işlemi başarılı olduğundan
  <code class="literal">$bar</code>, <code class="literal">1</code> değerine sahiptir.
  Yukarıdaki örnekler arasındaki farklara dikkat edin. Birincisi
  <span class="function"><a href="function.return.php" class="function">return</a></span> deyimini dahil edilen dosyada kullanırken
  ikincisi kullanmıyor. Dosya dahil edilemediği durumda, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>
  döndürülüyor ve bir <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> üretiliyor.
 </p>
 <p class="para">
  Dahil edilen dosyanın içinde tanımlanmış işlevler varsa,
  <span class="function"><a href="function.return.php" class="function">return</a></span> deyiminden önce ya da sonra olduğundan
  bağımsız olarak ana betik içersinde kullanılabilirler. Dosya iki defa
  dahil edilmişse, PHP ölümcül hata verir çünkü bildirilmiş işlevler
  tekrar bildirilmeye calışılmış olur. Dosyanın halihazırda dahil edilip
  edilmediğini kendiniz tespit edip koşula bağlı <span class="function"><a href="function.return.php" class="function">return</a></span>
  çalıştırmak yerine, <span class="function"><a href="function.include-once.php" class="function">include_once</a></span> kullanmanız
  önerilir.
 </p>
 <p class="simpara">
  Bir PHP dosyasını bir değişkene &quot;dahil&quot; etmenin diğer bir yolu, çıktıyı
  <a href="ref.outcontrol.php" class="link">Çıktı Denetim İşlevleri</a>ni
  <code class="literal">include</code> ile birlikte kullanarak yakalamaktır. Örnek:
 </p>
 <p class="para">
  <div class="example" id="example-6">
   <p><strong>Örnek 6 - Bir PHP dosyasını bir dizgeye dahil etmek için tampon
     kullanımı</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$string </span><span style="color: #007700">= </span><span style="color: #0000BB">get_include_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">'somefile.php'</span><span style="color: #007700">);<br /><br />function </span><span style="color: #0000BB">get_include_contents</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">) {<br />    if (</span><span style="color: #0000BB">is_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">)) {<br />        </span><span style="color: #0000BB">ob_start</span><span style="color: #007700">();<br />        include </span><span style="color: #0000BB">$filename</span><span style="color: #007700">;<br />        return </span><span style="color: #0000BB">ob_get_clean</span><span style="color: #007700">();<br />    }<br />    return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

  </div>
 </p>
 <p class="para">
  Betiğinize dosyaları otomatik olarak dahil etmek için, <var class="filename">php.ini</var>
  içersindeki <a href="ini.core.php#ini.auto-prepend-file" class="link">auto_prepend_file</a> ve <a href="ini.core.php#ini.auto-append-file" class="link">auto_append_file</a> yapılandırma seçeneklerini inceleyebilirsiniz.
 </p>

 <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
<span class="simpara">Bu bir işlev değil, dil oluşumu olduğundan
<a href="functions.variable-functions.php" class="link">değişken işlevler</a> veya
<a href="functions.arguments.php#functions.named-arguments" class="link">isimli bağımsız değişkenler</a>
kullanılarak çağrılamaz.</span></p></blockquote>

 <p class="simpara">
  Ayrıca, <span class="function"><a href="function.require.php" class="function">require</a></span>,
  <span class="function"><a href="function.require-once.php" class="function">require_once</a></span>, <span class="function"><a href="function.include-once.php" class="function">include_once</a></span>,
  <span class="function"><a href="function.readfile.php" class="function">readfile()</a></span>, <span class="function"><a href="function.virtual.php" class="function">virtual()</a></span> ve
  <a href="ini.core.php#ini.include-path" class="link">include_path</a>&#039;a da bakınız.
 </p>
</div><?php manual_footer($setup); ?>