file_put_contents

(PHP 5, PHP 7)

file_put_contentsBir dizgeyi bir dosyaya yazar

Açıklama

file_put_contents ( string $dosyaismi , mixed $veri [, int $seçenekler = 0 [, resource $bağlam ]] ) : int

Bu işlev, veriyi bir dosyaya yazmak için sırayla fopen(), fwrite() ve fclose() işlevlerinin çağrılmasına denk bir işlem yapar.

Eğer dosyaismi mevcut değilse dosya oluşturulur. Aksi takdirde, FILE_APPEND seçeneği etkin değilse veri mevcut dosyanın üzerine yazılır.

Değiştirgeler

dosyaismi

Verinin yazılacağı dosyanın yolu.

veri

Yazılacak veri. Bir dizi, bir dizge veya bir özkaynak olabilir.

Eğer veri bir akım özkaynağı ise tamponda kalan verinin tamamı dosyaya yazılır. Bu işlem, stream_copy_to_stream() kullanımına eşdğerdir.

veri değiştirgesinde tek boyutlu bir dizi de belirtebilirsiniz. Bu takdirde yapılan işlem file_put_contents(dosyaismi, implode('', $dizi)) işlemine denktir.

seçenekler

İsteğe bağlı bu değiştirgede bazı kısıtlamalarla şu sabitlerden bir veya daha fazlasını ikil VEYA (|) ile birleştirerek belirtebilirsiniz:

Belirtilebilecek seçenekler
Seçenet Açıklama
FILE_USE_INCLUDE_PATH Dosya include_path yönergesinde belirtilen yollarda aranır.
FILE_APPEND Eğer dosyaismi dosyası mevcutsa veri dosyanın üzerine yazılmaz, sonuna eklenir. Eklemeler atomik olup kilitlemeye gerek olmadığından LOCK_EX ile birlikte kullanılamaz.
LOCK_EX Yazma işlemi için dosya üzerinde ayrıcalıklı bir kilit edinilir. FILE_APPEND ile birlikte kullanılamaz.
FILE_TEXT veri metin kipinde yazılır. Eğer Evrenkod anlambilimsel olarak etkinse öntanımlı kodlama UTF-8'dir. Özel bir bağlam oluşturarak veya stream_default_encoding() işleviyle öntanımlı değeri değiştirerek farklı bir kodlama belirtebilirsiniz. Bu seçenek FILE_BINARY ile birlikte kullanılamaz. Bu seçenek PHP 6'dan beri kullanılabilmektedir.
FILE_BINARY veri ikil kipte yazılır. Bu öntanımlıdır ve FILE_TEXT ile birlikte kullanılamaz.Bu seçenek PHP 6'dan beri kullanılabilmektedir.

bağlam

stream_context_create() ile oluşturulmuş geçerli bir bağlam özkaynağı.

Dönen Değerler

İşlev, başarısızlık durumunda FALSE, aksi takdirde dosyaya yazılan baytların sayısı ile döner.

Örnekler

Örnek 1 - Basit kullanım örneği

<?php
$file 
'people.txt';
// İçeriğini almak için dosyayı açalım
$içerik file_get_contents($file);
// İçeriğe yeni bir kişi ekleyelim
$içerik .= "John Smith\n";
// İçeriği dosyaya yazalım
file_put_contents($file$içerik);
?>

Örnek 2 - Seçenek kullanımı

<?php
$file 
'people.txt';
// Dosyaya eklenecek yeni kişi
$person "John Smith\n";
// $person değişkeninin değerini $file dosyasının sonuna ekleyelim.
file_put_contents($file$personFILE_APPEND);
?>

Sürüm Bilgisi

Sürüm: Açıklama
5.0.0 Bağlam desteği eklendi.
5.1.0 Added support for LOCK_EX için destek ve data değiştirgesinde bir akım kaynağının aktarılabilmesi yeteneği eklendi.
6.0.0 FILE_TEXT ve FILE_BINARY seçenekleri için destek eklendi.

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtebilirsiniz. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakınız. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi edinmek için ise Desteklenen Protokoller ve Sarmalayıcılar bölümüne bakınız.

Ayrıca Bakınız