<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/features.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'features.remote-files.php',
    1 => 'Uzak dosyaların kullanımı',
    2 => 'Uzak dosyaların kullanımı',
  ),
  'up' => 
  array (
    0 => 'features.php',
    1 => '&Ouml;zellikler',
  ),
  'prev' => 
  array (
    0 => 'features.file-upload.errors.seealso.php',
    1 => 'Ayrıca Bakınız',
  ),
  'next' => 
  array (
    0 => 'features.connection-handling.php',
    1 => 'Bağlantı y&ouml;netimi',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'features/remote-files.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="features.remote-files" class="chapter">
  <h1 class="title">Uzak dosyaların kullanımı</h1>


  <p class="para">
   <var class="filename">php.ini</var> içinde <a href="filesystem.configuration.php#ini.allow-url-fopen" class="link">allow_url_fopen</a>
   seçeneği etkin olduğu sürece, dosya adını bağımsız değişken olarak alan birçok
   işlevde <abbr title="Hypertext Transfer Protocol">HTTP</abbr> ve <abbr title="File Transfer Protocol">FTP</abbr> URL&#039;lerini
   kullanabilirsiniz. Ek olarak, URL&#039;ler <span class="function"><a href="function.include.php" class="function">include</a></span>,
   <span class="function"><a href="function.include-once.php" class="function">include_once</a></span>, <span class="function"><a href="function.require.php" class="function">require</a></span> ve
   <span class="function"><a href="function.require-once.php" class="function">require_once</a></span> deyimleri ile kullanılabilir
   (Bunun için <a href="filesystem.configuration.php#ini.allow-url-include" class="link">allow_url_include</a>
   seçeneğini etkinleştirmek gerekmektedir). PHP tarafından desteklenen
   protokoller hakkında daha fazla bilgi için bakınız:
   <a href="wrappers.php" class="xref">Desteklenen Protokoller ve Sarmalayıcılar</a>
  </p>
  <p class="para">
   Örneğin, bunu uzak web sunucusunda bir dosya açmak, istediğiniz veri için
   çıktıyı çözümlemek ve bu veriyi bir veritabanı sorgusunda kullanmak veya
   sadece çıktılamak için kullanabilirsiniz.
  </p>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - Uzak sayfanın başlığını elde etmek</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$dosya </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen </span><span style="color: #007700">(</span><span style="color: #DD0000">"http://www.ornek_bir_site.com/"</span><span style="color: #007700">, </span><span style="color: #DD0000">"r"</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$dosya</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"&lt;p&gt;Uzak dosya açılamıyor.\n"</span><span style="color: #007700">;<br />    exit;<br />}<br />while (!</span><span style="color: #0000BB">feof </span><span style="color: #007700">(</span><span style="color: #0000BB">$dosya</span><span style="color: #007700">)) {<br />    </span><span style="color: #0000BB">$satir </span><span style="color: #007700">= </span><span style="color: #0000BB">fgets </span><span style="color: #007700">(</span><span style="color: #0000BB">$dosya</span><span style="color: #007700">, </span><span style="color: #0000BB">1024</span><span style="color: #007700">);<br />    </span><span style="color: #FF8000">/* Bu sadece başlığın title etiketleri aynı satır üzerindeyse çalışır */<br />    </span><span style="color: #007700">if (</span><span style="color: #0000BB">preg_match </span><span style="color: #007700">(</span><span style="color: #DD0000">"@\&lt;title\&gt;(.*)\&lt;/title\&gt;@i"</span><span style="color: #007700">, </span><span style="color: #0000BB">$satir</span><span style="color: #007700">, </span><span style="color: #0000BB">$cikti</span><span style="color: #007700">)) {<br />        </span><span style="color: #0000BB">$baslik </span><span style="color: #007700">= </span><span style="color: #0000BB">$cikti</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">];<br />        break;<br />    }<br />}<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$dosya</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Aynı zamanda bir FTP sunucusundaki dosyalara da yazabilirsiniz (doğru
   erişim haklarına sahip bir kullanıcı olarak bağlandığınızda). Bu yöntemi
   kullanarak sadece yeni dosyalar oluşturabilirsiniz; eğer varolan bir
   dosyanın üzerine yazmayı denerseniz, <span class="function"><a href="function.fopen.php" class="function">fopen()</a></span> çağrısı
   başarısız olur.
  </p>
  <p class="para">
   &#039;<code class="literal">anonymous</code>&#039; haricinde bir kullanıcı olarak bağlanmak için,
   &#039;<code class="literal">ftp://kullanici:parola@ftp.ornek_bir_site.com/ornek/bir/dosya</code>&#039;
   örneğindeki gibi kullanıcı adı (ve parola) URL içinde belirtilmelidir.
   (Basit kimlik doğrulaması gerektiren <abbr title="Hypertext Transfer Protocol">HTTP</abbr> dosya
   erişimleri içinde aynı söz dizimini kullanabilirsiniz.)
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Örnek 2 - Veriyi uzak sunucuda saklamak</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$dosya </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen </span><span style="color: #007700">(</span><span style="color: #DD0000">"ftp://ftp.ornek_bir_site.com/gelen/yazilan_dosya"</span><span style="color: #007700">, </span><span style="color: #DD0000">"w"</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$dosya</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"&lt;p&gt;Uzak dosya yazmak için açılamıyor.\n"</span><span style="color: #007700">;<br />    exit;<br />}<br /></span><span style="color: #FF8000">/* Veriyi burada yaz. */<br /></span><span style="color: #0000BB">fwrite </span><span style="color: #007700">(</span><span style="color: #0000BB">$dosya</span><span style="color: #007700">, </span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'HTTP_USER_AGENT'</span><span style="color: #007700">] . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fclose </span><span style="color: #007700">(</span><span style="color: #0000BB">$dosya</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
    <p class="para">
     Yukarıdaki örnek, bu tekniğin uzak günlük dosyası yazmak için
     kullanılabileceği fikrini vermiş olabilir. Ne yazık ki bu çalışmaz çünkü
     eğer uzak dosya zaten varsa <span class="function"><a href="function.fopen.php" class="function">fopen()</a></span> çağrısı başarısız
     olur. Böyle bir dağıtık günlüklerle için <span class="function"><a href="function.syslog.php" class="function">syslog()</a></span>
     işlevine göz atmalısınız.
    </p>
   </p></blockquote>
  </p>

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