1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-23 23:02:09 +01:00
Files
archived-doc-tr/features/remote-files.xml
2022-11-17 16:39:56 +03:00

115 lines
3.8 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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
-->