1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-23 23:02:09 +01:00
Files
2022-11-17 16:41:32 +03:00

234 lines
6.2 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: bb6247b68128cab1b166b49a3a73a87f40333267 Maintainer: nilgun Status: ready -->
<refentry xml:id="function.fwrite" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>fwrite</refname>
<refpurpose>Dosyaya ikil kipte yazar</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>false</type></type><methodname>fwrite</methodname>
<methodparam><type>resource</type><parameter>akım</parameter></methodparam>
<methodparam><type>string</type><parameter>veri</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>uzunluk</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<simpara>
<function>fwrite</function> işlevi, <parameter>veri</parameter> dizgesini
dosya tanıtıcısı <parameter>akım</parameter> ile belirtilen dosya akımına
yazar.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>akım</parameter></term>
<listitem>
&fs.file.pointer;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>veri</parameter></term>
<listitem>
<para>
Akıma yazılacak dizge.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>uzunluk</parameter></term>
<listitem>
<para>
<parameter>uzunluk</parameter> bağımsız değişkeni bir tamsayı ise yazma
işlemi <parameter>uzunluk</parameter> bayt yazıldıktan sonra veya
<parameter>dizge</parameter> dizgesinin sonuna gelindiğinde durur
(hangisi önce vuku bulursa).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
<function>fwrite</function> işlevi bir hata oluşmamışsa yazılan baytların
sayısını, aksi takdirde &false; döndürür.
</simpara>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
<function>fwrite</function> başarısızlık durumunda
<constant>E_WARNING</constant> çıktılar.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>uzunluk</parameter> artık &null; olabiliyor.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>- Basit bir <function>fwrite</function> örneği</title>
<programlisting role="php">
<![CDATA[
<?php
$dosya = 'dnm.txt';
$veri = "Bunu dosyaya ekleyelim\n";
// Önce dosya mevcut mu ve yazılabilir mi, bakalım.
if (is_writable($dosya)) {
// Örneğimizde $dosya'yı ekleme kipinde açıyoruz.
// Konumlayıcı dosyanın sonunda olduğundan fwrite()
// $veri dizgesini dosyanın sonuna ekleyecektir.
if (!$dt = fopen($dosya, 'a')) {
echo "$dosya dosyasıılamadı";
exit;
}
// $veri'yi açılan dosyaya yazalım.
if (fwrite($dt, $veri) === FALSE) {
echo "$dosya dosyasına yazılamıyor";
exit;
}
echo "$dosya dosyasına '$veri' başarıyla yazıldı";
fclose($dt);
} else {
echo "$dosya dosyası yazılabilir değil";
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Bir ağ akımına yazarken, dizgenin tamamı yazılamadan akım kapanabilir. Bu
durum <function>fwrite</function> dönüş değerinden saptanabilir:
<programlisting role="php">
<![CDATA[
<?php
function fwrite_stream($fp, $string) {
for ($written = 0; $written < strlen($string); $written += $fwrite) {
$fwrite = fwrite($fp, substr($string, $written));
if ($fwrite === false) {
return $written;
}
}
return $written;
}
?>
]]>
</programlisting>
</para>
</note>
<note>
<para>
İkil ve metin dosyaları farklı ele alan sistemlerde (Windows gibi) dosya
ılırken <function>fopen</function> işlevinin kip bağımsız değişkenine 'b' harfi
dahil edilmelidir.
</para>
</note>
<note>
<para>
Eğer <parameter>akım</parameter> dosya sonuna ekleme kipinde açılmışsa
(bazı sistemlerde ve dosya yerel dosya sisteminde olduğu sürece
<parameter>veri</parameter> uzunluğu dosya sisteminin blok boyunu
aşmadığı takdirde) yazma işlemi atomiktir. Yani,
<function>fwrite</function> işlevini çağırmadan önce dosya tanıtıcısını
<function>flock</function> ile kilitlemeye gerek yoktur; tüm veri
kesintiye uğramaksızın yazılacaktır.
</para>
</note>
<note>
<para>
Eğer dosya tanıtıcısında peşpeşe iki yazma yaparsanız, her iki veri de
dosyanın sonuna eklenir:
</para>
<programlisting role="php">
<![CDATA[
<?php
$dt = fopen('veri.txt', 'w');
fwrite($dt, '1');
fwrite($dt, '23');
fclose($dt);
// veri.txt dosyasının içeriği '123' değil '23' olacaktır.
?>
]]>
</programlisting>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>fread</function></member>
<member><function>fopen</function></member>
<member><function>fsockopen</function></member>
<member><function>popen</function></member>
<member><function>file_get_contents</function></member>
<member><function>pack</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->