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
file_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
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Il risultato dell'esecuzione del codice restituisce il numero di byte scritti:
5
Esempio
Aggiungiamo dati alla fine del file:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Esempio
Scrittura di un array in un file:
<?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
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Esempio
Utilizzo del contesto:
<?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