fwrite

(PHP 4, PHP 5, PHP 7)

fwriteDosyaya ikil kipte yazar

Açıklama

fwrite ( resource $dt , string $dizge [, int $uzunluk ] ) : int

fwrite() işlevi, dizge dizgesini dosya tanıtıcısı dt ile belirtilen dosya akımına yazar.

Değiştirgeler

dt

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

dizge

Akıma yazılacak dizge.

uzunluk

uzunluk değiştirgesi belirtilmişse yazma işlemi uzunluk bayt yazıldıktan sonra veya dizge dizgesinin sonuna gelindiğinde durur (hangisi önce vuku bulursa).

uzunluk değiştirgesi belirtildiği takdirde magic_quotes_runtime yapılandırma yönergesi yoksayılarak dizge dizgesinde bölü çizgileri ayıklaması yapılmaz.

Dönen Değerler

fwrite() işlevi bir hata oluşmamışsa yazılan baytların sayısı ile aksi takdirde FALSE ile döner.

Notlar

Bilginize:

Bir ağ akımına yazarken, dizgenin tamamı yazılamadan akım kapanabilir. Bu durum fwrite() dönüş değerinden saptanabilir:

<?php
function fwrite_stream($fp$string) {
    for (
$written 0$written strlen($string); $written += $fwrite) {
        
$fwrite fwrite($fpsubstr($string$written));
        if (!
$fwrite) {
            return 
$fwrite;
        }
    }
    return 
$written;
}
?>

Bilginize:

İkil ve metin dosyaları farklı ele alan sistemlerde (Windows gibi) dosya açılırken fopen() işlevinin kip değiştirgesine 'b' harfi dahil edilmelidir.

Bilginize:

Eğer dt dosya sonuna ekleme kipinde açılmışsa (bazı sistemlerde ve dosya yerel dosya sisteminde olduğu sürece dizge uzunluğu dosya sisteminin blok boyunu aşmadığı takdirde) yazma işlemi atomiktir. Yani, fwrite() işlevini çağırmadan önce dosya tanıtıcısını flock() ile kilitlemeye gerek yoktur; tüm veri kesintiye uğramaksızın yazılacaktır.

Bilginize:

Eğer dosya tanıtıcısında peşpeşe iki yazma yaparsanız, her iki veri de dosyanın sonuna eklenir:

<?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.
?>

Örnekler

Örnek 1 - Basit bir fwrite() örneği

<?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ı açı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";
}
?>

Ayrıca Bakınız

  • fread() - Dosyayı ikil kipte okur
  • fopen() - Bir dosya veya URL'yi açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • popen() - Bir süreç tanıtıcısı açar
  • file_get_contents() - Dosya içeriğinin tamamını bir dizge olarak döndürür