Funzione file_put_contents

La funzione file_put_contents scrive dati in un file. Il primo parametro è il percorso del file, il secondo sono i dati da scrivere. Il terzo parametro opzionale definisce la modalità di scrittura (vedi tabella sotto).

Il quarto parametro opzionale rappresenta una risorsa di contesto di flusso, creata dalla funzione stream_context_create. Permette di configurare i parametri di lavoro con il file o con una risorsa di rete.

Sintassi

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

Valori del terzo parametro

Flag Descrizione
FILE_USE_INCLUDE_PATH Se impostato, la funzione cercherà il file nelle directory specificate nel parametro include_path nelle impostazioni PHP nel file php.ini.
FILE_APPEND Aggiunge i dati alla fine del file invece di sovrascriverlo
LOCK_EX Ottiene un blocco esclusivo sul file durante la scrittura

Esempio

Scriviamo una stringa in un file:

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

Il risultato dell'esecuzione del codice restituisce il numero di byte scritti:

php5

Esempio

Aggiungiamo dati alla fine del file:

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

Esempio

Scrittura di un array in un file:

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

Esempio

Nel terzo parametro è possibile specificare diversi flag, elencandoli tramite il simbolo |. Ad esempio, aggiungiamo dati con il blocco del file:

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

Esempio

Utilizzo del contesto:

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
  );
?>

Vedi anche

  • la funzione file_get_contents,
    che legge il contenuto di un file
  • la funzione fopen,
    che apre un file
  • la funzione fwrite,
    che scrive in un file