<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/wrappers.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'wrappers.php.php',
    1 => 'php://',
    2 => '&Ccedil;eşitli G/&Ccedil; akımlarına erişim',
  ),
  'up' => 
  array (
    0 => 'wrappers.php',
    1 => 'Desteklenen Protokoller ve Sarmalayıcılar',
  ),
  'prev' => 
  array (
    0 => 'wrappers.ftp.php',
    1 => 'ftp://',
  ),
  'next' => 
  array (
    0 => 'wrappers.compression.php',
    1 => 'zlib://',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/wrappers/php.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="wrappers.php" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">php://</h1>
  <p class="refpurpose"><span class="refname">php://</span> &mdash; <span class="dc-title">Çeşitli G/Ç akımlarına erişim</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-wrappers.php-description">
  <h3 class="title">Açıklama</h3>
  <p class="para">
   PHP, PHP&#039;nin kendi girdi ve çıktı akımlarına, standart girdi, çıktı ve hata
   dosya tanıtıcılarına, bellek içi ve disk destekli geçici dosya akımlarına
   ve diğer dosya kaynaklarını okundukları ve yazıldıkları gibi işleyebilen
   süzgeçlere erişime izin veren bir dizi G/Ç akımı sağlar.
  </p>

  <div class="refsect2 unknown-1" id="wrappers.php.std">
   <h4 class="title">php://stdin, php://stdout ve php://stderr</h4>
   <p class="simpara">
    <var class="filename">php://stdin</var>, <var class="filename">php://stdout</var> ve
    <var class="filename">php://stderr</var>, PHP sürecinin karşılık gelen girdi
    veya çıktı akımına doğrudan erişime izin verir. Akım, bir kopya dosya
    tanıtıcısına başvurur, bu nedenle <var class="filename">php://stdin</var>&#039;i
    açar ve daha sonra kapatırsanız, yalnızca tanıtıcı kopyanızı kapatırsınız;
    STDIN içindeki gerçek akım etkilenmez. Bu sarmalayıcıları kullanarak
    akımları elle açmak yerine basitçe <strong><code><a href="reserved.constants.php#constant.stdin">STDIN</a></code></strong>,
    <strong><code><a href="reserved.constants.php#constant.stdout">STDOUT</a></code></strong> ve <strong><code><a href="reserved.constants.php#constant.stderr">STDERR</a></code></strong> sabitlerini
    kullanmanız önerilir.
   </p>
   <p class="simpara">
    <var class="filename">php://stdin</var> salt-okunur,
    <var class="filename">php://stdout</var> ve <var class="filename">php://stderr</var>
    ise salt-yazılırdır.
   </p>
  </div>


  <div class="refsect2 unknown-4" id="wrappers.php.input">
   <h4 class="title">php://input</h4>
   <p class="simpara">
    <var class="filename">php://input</var>, istek gövdesinden ham verileri okumanıza
    izin veren salt okunur bir akımdır. <a href="ini.core.php#ini.enable-post-data-reading" class="link">enable_post_data_reading</a>
    seçeneği etkinse <var class="filename">php://input</var> akımı,
    <code class="literal">enctype=&quot;multipart/form-data&quot;</code> ile kullanılamaz.
   </p>
  </div>


  <div class="refsect2 unknown-7" id="wrappers.php.output">
   <h4 class="title">php://output</h4>
   <p class="para">
    <var class="filename">php://output</var>, çıktı tamponuna
    <span class="function"><a href="function.print.php" class="function">print</a></span> ve <span class="function"><a href="function.echo.php" class="function">echo</a></span> gibi yazmanıza
    izin veren salt-yazılır bir akımdır.
   </p>
  </div>


  <div class="refsect2 unknown-10" id="wrappers.php.fd">
   <h4 class="title">php://fd</h4>
   <p class="simpara">
    <var class="filename">php://fd</var>, verilen dosya tanıtıcısına doğrudan
    erişime izin verir. Örneğin <var class="filename">php://fd/3</var>, dosya
    tanıtıcı 3&#039;ü ifade eder.
   </p>
  </div>


  <div class="refsect2 unknown-13" id="wrappers.php.memory">
   <h4 class="title">php://memory ve php://temp</h4>
   <p class="simpara">
    <var class="filename">php://memory</var> ve <var class="filename">php://temp</var>,
    geçici verilerin dosya benzeri bir sarmalayıcıda depolanmasına izin
    veren okuma-yazma akımlarıdır. İkisi arasındaki tek fark,
    <var class="filename">php://memory</var> akımının verilerini her zaman bellekte
    depolamasıdır, oysa <var class="filename">php://temp</var>, bellekte depolanan
    veri miktarı önceden tanımlanmış bir sınıra ulaştığında (öntanımlı değer
    2 MB&#039;dir) geçici bir dosya kullanır. Bu geçici dosyanın konumu,
    <span class="function"><a href="function.sys-get-temp-dir.php" class="function">sys_get_temp_dir()</a></span> işlevindeki gibi belirlenir.
   </p>
   <p class="simpara">
    <var class="filename">php://temp</var> bellek sınırı,
    <code class="literal">/maxmemory:NN</code> eklenerek denetlenebilir, burada NN,
    bayt cinsinden, geçici bir dosya kullanmadan önce bellekte saklanacak
    azami veri miktarıdır.
   </p>
   <div class="caution"><strong class="caution">Dikkat</strong>
    <p class="simpara">
     Bazı PHP eklentileri standart G/Ç akımı gerektirebilir ve belirli bir
     akımı standart G/Ç akımına dönüştürmeye çalışabilir. Bu dönüşüm C
     <span class="function"><strong>fopencookie()</strong></span> işlevini gerektirdiğinden bellek
     akımlarında başarısız olabilir. Bu C işlevi Windows&#039;ta
     <em>mevcut değildir</em>.
    </p>
   </div>
  </div>


  <div class="refsect2 unknown-16" id="wrappers.php.filter">
   <h4 class="title">php://filter</h4>
   <p class="simpara">
    <var class="filename">php://filter</var>, açılış anında
    <a href="filters.php" class="link">süzgeçlerin</a> bir akıma uygulanmasını
    sağlamak için tasarlanmış bir meta sarmalayıcı çeşididir. Bu, içerikler
    okunmadan önce akışa başka türlü süzgeç uygulama imkanının olmadığı
    yerlerde, <span class="function"><a href="function.readfile.php" class="function">readfile()</a></span>, <span class="function"><a href="function.file.php" class="function">file()</a></span>
    ve <span class="function"><a href="function.file-get-contents.php" class="function">file_get_contents()</a></span> gibi hepsi bir arada dosya
    işlevlerinde kullanışlıdır.
   </p>
   <p class="para">
    <var class="filename">php://filter</var> hedefi, yolunun bir parçası olarak
    aşağıdaki seçenekleri alır. Tek bir yolda birden çok süzgeç zinciri
    belirtilebilir. Lütfen bu seeneklerin kullanımıyla ilgili ayrıntılar
    için örneklere bakın.
   </p>
   <p class="para">
    <table class="doctable table">
     <caption><strong>php://filter seçenekleri</strong></caption>
     
      <thead>
       <tr>
        <th>Seçenek</th>
        <th>Açıklama</th>
       </tr>

      </thead>

      <tbody class="tbody">
       <tr>
        <td>
         <code class="literal">resource=&lt;süzülecek akım&gt;</code>
        </td>
        <td>
         Bu seçenek gereklidir. Süzülecek akımı belirtir.
        </td>
       </tr>

       <tr>
        <td>
         <code class="literal">read=&lt;okuma zincirine uygulanacak süzgeç listesi&gt;</code>
        </td>
        <td>
         Bu seçenek isteğe bağlıdır. Burada, süzgeçler arasına boru
         (<code class="literal">|</code>) karakteri konarak bir veya daha fazla
         süzgeç belirtilebilir.
        </td>
       </tr>

       <tr>
        <td>
         <code class="literal">write=&lt;yazma zincirine uygulanacak süzgeç listesi&gt;</code>
        </td>
        <td>
         Bu seçenek isteğe bağlıdır. Burada, süzgeçler arasına boru
         (<code class="literal">|</code>) karakteri konarak bir veya daha fazla
         süzgeç belirtilebilir.
        </td>
       </tr>

       <tr>
        <td>
         <code class="literal">&lt;her iki zincire uygulanacak süzgeç listesi&gt;</code>
        </td>
        <td>
         <code class="literal">read=</code> veya <code class="literal">write=</code> ile
         öncelenmemiş süzgeç listeleri uygun olduğu takdirde okuma ve yazma
         zincirlerinin ikisine de uygulanır.
        </td>
       </tr>

      </tbody>
     
    </table>

   </p>
  </div>

 </div>


 <div class="refsect1 options" id="refsect1-wrappers.php-options">
  <h3 class="title">Seçenekler</h3>
  <p class="para">
   <table class="doctable table">
    <caption><strong>
     Sarmalayıcı Özeti (<code class="literal">php://filter</code> için,
     süzülen sarmalayıcı özetine bakın)
    </strong></caption>
    
     <thead>
      <tr>
       <th>Özellik</th>
       <th>Destek</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td><a href="filesystem.configuration.php#ini.allow-url-fopen" class="link">allow_url_fopen</a> ile sınırlı</td>
       <td>Hayır</td>
      </tr>

      <tr>
       <td><a href="filesystem.configuration.php#ini.allow-url-include" class="link">allow_url_include</a> ile sınırlı</td>
       <td>Sadece
        <code class="literal">php://input</code>,
        <code class="literal">php://stdin</code>,
        <code class="literal">php://memory</code> ve
        <code class="literal">php://temp</code> için.
       </td>
      </tr>

      <tr>
       <td>Okuma izni</td>
       <td>Sadece
        <code class="literal">php://stdin</code>,
        <code class="literal">php://input</code>,
        <code class="literal">php://fd</code>,
        <code class="literal">php://memory</code> ve
        <code class="literal">php://temp</code> için.
       </td>
      </tr>

      <tr>
       <td>Yazma izni</td>
       <td>Sadece
        <code class="literal">php://stdout</code>,
        <code class="literal">php://stderr</code>,
        <code class="literal">php://output</code>,
        <code class="literal">php://fd</code>,
        <code class="literal">php://memory</code> ve
        <code class="literal">php://temp</code> için.
       </td>
      </tr>

      <tr>
       <td>Ekleme izni</td>
       <td>Sadece
        <code class="literal">php://stdout</code>,
        <code class="literal">php://stderr</code>,
        <code class="literal">php://output</code>,
        <code class="literal">php://fd</code>,
        <code class="literal">php://memory</code> ve
        <code class="literal">php://temp</code> için. (Yazmaya eşdeğer)
       </td>
      </tr>

      <tr>
       <td>Aynı anda okuma ve yazma izni</td>
       <td>Sadece
        <code class="literal">php://fd</code>,
        <code class="literal">php://memory</code> ve
        <code class="literal">php://temp</code> için.
       </td>
      </tr>

      <tr>
       <td><span class="function"><a href="function.stat.php" class="function">stat()</a></span> desteği</td>
       <td>
        Hayır.  Ancak, <code class="literal">php://memory</code> ve
        <code class="literal">php://temp</code> akımları <span class="function"><a href="function.fstat.php" class="function">fstat()</a></span>
        işlevini destekler.
       </td>
      </tr>

      <tr>
       <td><span class="function"><a href="function.unlink.php" class="function">unlink()</a></span> desteği</td>
       <td>Hayır</td>
      </tr>

      <tr>
        <td><span class="function"><a href="function.rename.php" class="function">rename()</a></span> desteği</td>
       <td>Hayır</td>
      </tr>

      <tr>
       <td><span class="function"><a href="function.mkdir.php" class="function">mkdir()</a></span> desteği</td>
       <td>Hayır</td>
      </tr>

      <tr>
       <td><span class="function"><a href="function.rmdir.php" class="function">rmdir()</a></span> desteği</td>
       <td>Hayır</td>
      </tr>

      <tr>
       <td><span class="function"><a href="function.stream-select.php" class="function">stream_select()</a></span> desteği</td>
       <td>Sadece
        <code class="literal">php://stdin</code>,
        <code class="literal">php://stdout</code>,
        <code class="literal">php://stderr</code>,
        <code class="literal">php://fd</code> ve
        <code class="literal">php://temp</code> için.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>
 

 <div class="refsect1 examples" id="refsect1-wrappers.php-examples">
  <h3 class="title">Örnekler</h3>
  <div class="example" id="example-1">
   <p><strong>Örnek 1 - php://temp/maxmemory</strong></p>
   <div class="example-contents"><p>
    Bu isteğe bağlı seçenek, <var class="filename">php://temp</var> geçici bir dosya
    kullanmaya başlamadan önce bellek sınırının ayarlanmasına izin verir.
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Sınırı 5 MB yapalım.<br /></span><span style="color: #0000BB">$fiveMBs </span><span style="color: #007700">= </span><span style="color: #0000BB">5 </span><span style="color: #007700">* </span><span style="color: #0000BB">1024 </span><span style="color: #007700">* </span><span style="color: #0000BB">1024</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$fp </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"php://temp/maxmemory:</span><span style="color: #0000BB">$fiveMBs</span><span style="color: #DD0000">"</span><span style="color: #007700">, </span><span style="color: #DD0000">'r+'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">fputs</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #DD0000">"hello\n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Yazdığımızı oku.<br /></span><span style="color: #0000BB">rewind</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">stream_get_contents</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <div class="example" id="example-2">
   <p><strong>Örnek 2 - php://filter/resource=&lt;süzülecek akım&gt;</strong></p>
   <div class="example-contents"><p>
    Bu seçenek <var class="filename">php://filter</var> belirtiminizin sonunda
    bulunmalı ve süzülmesini istediğiniz akımı göstermelidir.T
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Aslında hiçbir süzgeç belirtilmediğinden<br />  readfile("http://www.example.com");<br />  ile eşdeğerdir */<br /><br /></span><span style="color: #0000BB">readfile</span><span style="color: #007700">(</span><span style="color: #DD0000">"php://filter/resource=http://www.example.com"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <div class="example" id="example-3">
   <p><strong>Örnek 3 - php://filter/read=&lt;okuma zincirine uygulanacak süzgeç listesi&gt;</strong></p>
   <div class="example-contents"><p>
    Bu seçenek, boru karakteri | ile ayrılmış bir veya daha fazla
    dosya adı alır.
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* www.example.com içeriğini tamamen büyük harflerle çıktılar. */<br /></span><span style="color: #0000BB">readfile</span><span style="color: #007700">(</span><span style="color: #DD0000">"php://filter/read=string.toupper/resource=http://www.example.com"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Ayrıca ROT13 kodlaması dışında yukarıdaki ile aynı*/<br /></span><span style="color: #0000BB">readfile</span><span style="color: #007700">(</span><span style="color: #DD0000">"php://filter/read=string.toupper|string.rot13/resource=http://www.example.com"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <div class="example" id="example-4">
   <p><strong>Örnek 4 - php://filter/write=&lt;yazma zincirine uygulanacak süzgeç listesi&gt;</strong></p>
   <div class="example-contents"><p>
    Bu seçenek, boru karakteri | ile ayrılmış bir veya daha fazla
    dosya adı alır.
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* rot13 süzgeci üzerinden "Hello World" dizesini süzer ve<br />     çıktıyı geçerli dizindeki example.txt dosyasına yazar */<br /></span><span style="color: #0000BB">file_put_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">"php://filter/write=string.rot13/resource=example.txt"</span><span style="color: #007700">,</span><span style="color: #DD0000">"Hello World"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <div class="example" id="example-5">
   <p><strong>Örnek 5 - php://memory ve php://temp yeniden kullanılamaz</strong></p>
   <div class="example-contents"><p>
    <var class="filename">php://memory</var> ve <var class="filename">php://temp</var>
    yeniden kullanılamaz, yani akımlar kapatıldıktan sonra bunlara tekrar
    başvurmanın bir yolu yoktur.
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />file_put_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">'php://memory'</span><span style="color: #007700">, </span><span style="color: #DD0000">'PHP'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">file_get_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">'php://memory'</span><span style="color: #007700">); </span><span style="color: #FF8000">// hiçbir şey basmaz</span></span></code></div>
   </div>

  </div>
 </div>

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