<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/features.file-upload.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'features.file-upload.put-method.php',
    1 => 'PUT y&ouml;ntemi desteği',
    2 => 'PUT y&ouml;ntemi desteği',
  ),
  'up' => 
  array (
    0 => 'features.file-upload.php',
    1 => 'Karşıya dosya y&uuml;kleme',
  ),
  'prev' => 
  array (
    0 => 'features.file-upload.multiple.php',
    1 => '&Ccedil;oklu dosya y&uuml;kleme',
  ),
  'next' => 
  array (
    0 => 'features.file-upload.errors.seealso.php',
    1 => 'Ayrıca Bakınız',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'features/file-upload.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="features.file-upload.put-method" class="sect1">
   <h2 class="title">PUT yöntemi desteği</h2>
   <p class="para">
    PHP bazı istemciler tarafından sunucuda dosya saklamak için kullanılan
    HTTP PUT yöntemini de destekler. PUT istemleri POST istemleri ile dosya
    yüklemesinden daha basittir ve şu şekildedir:
    <div class="informalexample">
     <div class="example-contents">
<div class="HTTPcode"><pre class="HTTPcode">PUT /dizin_adi/dosyaismi.html HTTP/1.1</pre>
</div>
     </div>

    </div>
   </p>
   <p class="para">
    Bu normalde uzak istemci <var class="filename">/dizin_adi/dosyaismi.html</var>
    içeriğini site ağacında saklamak istiyor anlamına gelir. Bu Apache veya
    PHP&#039;nin herkese site ağacındaki herhangi bir dosya üzerine yazma yetkisi
    verme anlamına geleceği için iyi bir fikir değildir. Bu nedenle böyle bir
    istem geldiğinde öncelikle HTTP sunucunuza bu istemin belirli bir PHP
    betiği tarafından karşılanacağını söylemelisiniz. Apache&#039;de bunu
    <em>Script</em> yönergesi ile yapabilirsiniz. Bu Apache
    yapılandırma dosyasının herhangi bir yerine konulabilir. Genellikle
    <code class="literal">&lt;Directory&gt;</code> bloğu içine veya
    <code class="literal">&lt;VirtualHost&gt;</code> bloğu içine konulur.
    Bu, aşağıdaki gibi bir satır olabilir:
    <div class="informalexample">
     <div class="example-contents">
<div class="cdata"><pre>
Script PUT /put.php
</pre></div>
     </div>

    </div>
   </p>
   <p class="simpara">
    Bu Apache&#039;ye URI&#039;ler için bütün PUT istemlerinin put.php betiğine
    gönderilmesini söyler. Tabii ki bu durumda  <var class="filename">.php</var>
    uzantısının ve PHP&#039;nin etkin olduğu varsayılmaktadır. Bu betiğe gelen bütün
    PUT istemleri için hedef kaynağı betiğin kendisi olmalıdır.
   </p>
   <p class="simpara">
    PHP ile put.php içinde şunu yapabilirsiniz. Bu yüklenen dosyanın içeriğini
    sunucudaki <var class="filename">myputfile.ext</var> dosyasına kopyalar. Bu dosya
    kopyalamayı gerçekleştirmeden önce bazı denetimlerin yanında kimlik
    doğrulaması da yapmak isteyebilirsiniz.
   </p>
   <p class="para">
    <div class="example" id="example-1">
     <p><strong>Örnek 1 - HTTP PUT dosyalarının kaydedilmesi</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">/* PUT verisi stdin akımına gelir */<br /></span><span style="color: #0000BB">$putdata </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"php://input"</span><span style="color: #007700">, </span><span style="color: #DD0000">"r"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Yazmak için bir dosya aç */<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">"put_dosyam.ekl"</span><span style="color: #007700">, </span><span style="color: #DD0000">"w"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Bir kerede 1 KB veri oku ve dosyaya yaz  */<br /></span><span style="color: #007700">while (</span><span style="color: #0000BB">$veri </span><span style="color: #007700">= </span><span style="color: #0000BB">fread</span><span style="color: #007700">(</span><span style="color: #0000BB">$putdata</span><span style="color: #007700">, </span><span style="color: #0000BB">1024</span><span style="color: #007700">))<br />  </span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #0000BB">$veri</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Akımları kapat */<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$putdata</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

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