file_put_contents Fonksiyonu

file_put_contents fonksiyonu bir dosyaya veri yazar. İlk parametre - dosya yolu, ikinci - yazılacak veri. Üçüncü isteğe bağlı parametre yazma modunu belirler (aşağıdaki tabloya bakın).

Dördüncü isteğe bağlı parametre, stream_context_create fonksiyonu tarafından oluşturulan bir akış bağlamı kaynağıdır. Dosya veya ağ kaynağı ile çalışma parametrelerini yapılandırmayı sağlar.

Sözdizimi

phpfile_put_contents(
  string $filename,
  mixed $data,
  int $flags = 0,
  ?resource $context = null
): int|false

Üçüncü parametrenin değerleri

Bayrak Açıklama
FILE_USE_INCLUDE_PATH Ayarlanırsa, fonksiyon dosyayı PHP ayarlarındaki php.ini dosyasında include_path parametresinde belirtilen dizinlerde arayacaktır.
FILE_APPEND Verileri üzerine yazmak yerine dosyanın sonuna ekle
LOCK_EX Yazma sırasında dosya üzerinde özel kilitleme elde et

Örnek

Bir dosyaya bir dize yazalım:

php<?php
  $res = file_put_contents('data.txt', 'abcde');
  echo $res;
?>

Kodun çalıştırılmasının sonucu yazılan bayt sayısını döndürür:

php5

Örnek

Dosyanın sonuna veri ekleyelim:

php<?php
  $res = file_put_contents('data.txt', '12345', FILE_APPEND);
  echo $res;
?>

Örnek

Dizi dosyaya yazma:

php<?php
  $data = ['a', 'b', 'c'];
  $res = file_put_contents('array.txt', implode(',', $data));
  echo $res;
?>

Örnek

Üçüncü parametrede birkaç bayrak | sembolü ile ayrılarak belirtilebilir. Örnek olarak dosyayı kilitleyerek veri ekleyelim:

php<?php
  $res = file_put_contents(
    'log.txt',
    "text",
    FILE_APPEND | LOCK_EX
  );
  echo $res;
?>

Örnek

Bağlam kullanımı:

php<?php
  $opts = [
    'http' => [
      'method' => "POST",
      'header' => "Content-type: text/plain\r\n"
    ]
  ];
  
  $context = stream_context_create($opts);
  
  $res = file_put_contents(
    'http://example.com/api',
    'data=test',
    false,
    $context
  );
?>

Ayrıca bakınız