mirror of
https://github.com/php/doc-tr.git
synced 2026-03-23 23:02:09 +01:00
115 lines
3.8 KiB
XML
115 lines
3.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: a0ae28d3bc85f927c22649ebd9a590b921534b7d Maintainer: yasar Status: ready -->
|
||
<chapter xml:id="features.remote-files" xmlns="http://docbook.org/ns/docbook">
|
||
<title>Uzak dosyaların kullanımı</title>
|
||
|
||
<para>
|
||
&php.ini; içinde <link linkend="ini.allow-url-fopen">allow_url_fopen</link>
|
||
seçeneği etkin olduğu sürece, dosya adını bağımsız değişken olarak alan birçok
|
||
işlevde <acronym>HTTP</acronym> ve <acronym>FTP</acronym> URL'lerini
|
||
kullanabilirsiniz. Ek olarak, URL'ler <function>include</function>,
|
||
<function>include_once</function>, <function>require</function> ve
|
||
<function>require_once</function> deyimleri ile kullanılabilir
|
||
(Bunun için <link linkend="ini.allow-url-include">allow_url_include</link>
|
||
seçeneğini etkinleştirmek gerekmektedir). PHP tarafından desteklenen
|
||
protokoller hakkında daha fazla bilgi için bakınız:
|
||
<xref linkend="wrappers"/>
|
||
</para>
|
||
<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.
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>- Uzak sayfanın başlığını elde etmek</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
$dosya = fopen ("http://www.ornek_bir_site.com/", "r");
|
||
if (!$dosya) {
|
||
echo "<p>Uzak dosya açılamıyor.\n";
|
||
exit;
|
||
}
|
||
while (!feof ($dosya)) {
|
||
$satir = fgets ($dosya, 1024);
|
||
/* Bu sadece başlığın title etiketleri aynı satır üzerindeyse çalışır */
|
||
if (preg_match ("@\<title\>(.*)\</title\>@i", $satir, $cikti)) {
|
||
$baslik = $cikti[1];
|
||
break;
|
||
}
|
||
}
|
||
fclose($dosya);
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<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, <function>fopen</function> çağrısı
|
||
başarısız olur.
|
||
</para>
|
||
<para>
|
||
'<literal>anonymous</literal>' haricinde bir kullanıcı olarak bağlanmak için,
|
||
'<literal>ftp://kullanici:parola@ftp.ornek_bir_site.com/ornek/bir/dosya</literal>'
|
||
örneğindeki gibi kullanıcı adı (ve parola) URL içinde belirtilmelidir.
|
||
(Basit kimlik doğrulaması gerektiren <acronym>HTTP</acronym> dosya
|
||
erişimleri içinde aynı söz dizimini kullanabilirsiniz.)
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>- Veriyi uzak sunucuda saklamak</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
$dosya = fopen ("ftp://ftp.ornek_bir_site.com/gelen/yazilan_dosya", "w");
|
||
if (!$dosya) {
|
||
echo "<p>Uzak dosya yazmak için açılamıyor.\n";
|
||
exit;
|
||
}
|
||
/* Veriyi burada yaz. */
|
||
fwrite ($dosya, $_SERVER['HTTP_USER_AGENT'] . "\n");
|
||
fclose ($dosya);
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
<note>
|
||
<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 <function>fopen</function> çağrısı başarısız
|
||
olur. Böyle bir dağıtık günlüklerle için <function>syslog</function>
|
||
işlevine göz atmalısınız.
|
||
</para>
|
||
</note>
|
||
</para>
|
||
|
||
</chapter>
|
||
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|