file_put_contents
(PHP 5, PHP 7, PHP 8)
file_put_contents — Veriyi bir dosyaya yazar
Açıklama
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.
Bağımsız Değişkenler
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
bağımsız değişkeninde 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 bağımsız değişkende 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.
|
LOCK_EX
|
Yazma işlemi için dosya üzerinde ayrıcalıklı bir kilit edinilir.
Başka bir deyişle, fopen() ve
fwrite() çağrıları arasında bir
flock() çağrısı yapılır. Bu, "x" kipiyle
fopen() çağrısına denk değildir.
|
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.
Uyarı
Bu işlev mantıksal false
değeriyle dönebileceği gibi false
olarak değerlendirilebilecek mantıksal
olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi
Mantıksal Değerler bölümünde
bulunabilir. Bu işlevden dönen değeri sınamak için
===
işleci kullanılabilir.
Ö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ına ekleyelim.
// FILE_APPEND veriyi dosyanın sonuna ekler.
// LOCK_EX aynı anda başka birinin başka bir şey yazmasını engeller.
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>
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 belirtilebilir.
Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için
fopen() işlevine bakılabilir. Sarmalayıcıların neler
yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı
değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.