Funzione php file_put_contents

Funzione php file_put_contents
Molte funzioni esistono in PHP per scrivere contenuti nel file. La funzione file_put_contents () è una di queste. Viene utilizzato per scrivere qualsiasi dati di stringa in un file. Se il file esiste, questa funzione sovrascriverà il contenuto precedente con i nuovi dati di stringa o aggiungerà la stringa alla fine del file. Se il file non esiste, un nuovo file verrà creato automaticamente con il valore della stringa. La sintassi di questa funzione è riportata di seguito.

Sintassi:

Int | false file_put_contents (stringa $ nome file, $ dati misti [, int $ flags = 0 [, risorsa $ context]])

Il primo argomento è obbligatorio e viene utilizzato per definire il nome file in cui verranno scritti i dati.

Il secondo argomento è obbligatorio e utilizzato per definire i dati scritti nel file.

Il terzo argomento è facoltativo, che viene utilizzato per definire l'apertura del file o scrivere i dati. Uno dei seguenti valori può essere utilizzato in questo argomento.

File_use_include_path:
Viene utilizzato la ricerca al file nella directory include.

File_append:
Se il file esiste, viene utilizzato per aggiungere i dati alla fine del file.

Lock_Ex:
Viene utilizzato per impostare il blocco esclusivo sul file durante la scrittura.

IL Quarta discussione è facoltativo e utilizzato per definire il comportamento del flusso o il contesto per la gestione del file.

La funzione ritorna Il numero di caratteri scritti nel file e restituisce false se non vengono scritti dati nel file

File_put_contents () Esempi di funzioni

Diversi usi della funzione file_put_contents () sono stati mostrati nella parte successiva di questo tutorial utilizzando più esempi. Hai impostato le autorizzazioni di lettura e scrittura necessarie nella cartella in cui il file verrà posizionato prima di praticare gli esempi di questo tutorial; Altrimenti, si verificherebbe l'errore di autorizzazione negato. Esegui il comando seguente per impostare tutta l'autorizzazione per la cartella, '/var/www/html/php'.

$ sudo chmod -r 777/var/www/html/php

Esempio-1: scrivere/sovrascrivere il contenuto in un file

Crea un file PHP con il seguente script che scriverà un testo in un file di testo situato all'interno della cartella, '/var/www/html/php'. Se la temp.TXT Il file esiste prima, quindi file_put_contents () sovrascriverà il contenuto del file. Se la temp.TXT Il file non esiste, quindi la funzione file_put_contents () creerà automaticamente il file prima di scrivere. Successivamente, la funzione file_get_contents () viene utilizzata nello script per verificare se il testo è stato scritto correttamente nel file o meno.

// Imposta il nome file
$ fileName = "temp.TXT";
// Imposta il valore della stringa
$ str = "Aggiunta di contenuto al file.";
// Scrivi il contenuto nel file
file_put_contents ('/var/www/html/php/'.$ fileName, $ str) o print_r (error_get_last ());
// Controllare che il file esista o no
if (file_exists ($ nome file))

Echo "Il contenuto del file:
";
// Stampa il contenuto del file
echo file_get_contents ($ nome file);

?>

Produzione:

Il seguente output sarebbe apparso dopo aver eseguito lo script sopra se il testo è stato scritto correttamente nel file.

Esempio-2: aggiungere i dati in un nome file esistente

Crea un file PHP con il seguente script che aggiungerà un testo con la nuova riga in un file di testo esistente situato all'interno della cartella, '/var/www/html/php'. IL File_append E Lock_ex Le opzioni vengono utilizzate nel terzo argomento della funzione file_put_contents () per l'avvio del testo al temp.TXT file. Successivamente, la funzione file_get_contents () viene utilizzata nello script per verificare se il testo è stato scritto correttamente nel file o meno.

// Imposta il nome file
$ fileName = "temp.TXT";
// Controllare che il file esista o no
if (file_exists ($ nome file))

Echo "Il contenuto del file prima dell'appendice:
";
// Stampa il contenuto del file
echo file_get_contents ($ nome file);
// Imposta il valore della stringa
$ str = "Apprendendo nuovi contenuti al file.\N";
// Scrivi il contenuto nel file
file_put_contents ('/var/www/html/php/'.$ nome file, $ STR, file_append | Lock_ex) o print_r (error_get_last ());
eco "
Il contenuto del file dopo l'appendice:
";
// Stampa il contenuto del file
echo file_get_contents ($ nome file);

?>

Produzione:

Il seguente output sarebbe apparso dopo aver eseguito lo script sopra se il testo è stato aggiunto correttamente nel file.

Esempio-3: scrivere/sovrascrivere il contenuto del file usando file_use_include_path

Devi abilitare il include_path direttiva nel PHP.ini file per l'utilizzo file_use_include_path Opzione, il terzo argomento della funzione file_put_contents (). Apri il PHP.ini archiviare e rimuovere il punto e virgola (;) dalla parte anteriore della riga seguente.

include_path = ".:/usr/share/php "

Eseguire il seguente comando dal terminale per riavviare il server Apache dopo aver modificato il PHP.ini file.

$ sudo servizio apache2 riavvio

Crea un file PHP con il seguente script che scriverà/sovrascriverà il testo con la nuova linea in un file di testo esistente denominato il mio file.TXT che si trova nella posizione definita in include_path direttiva. Successivamente, la funzione file_get_contents () è stata utilizzata nello script per verificare che il testo sia stato scritto correttamente nel file o no.

// Imposta il nome file
$ fileName = "myfile.TXT";
// Imposta il valore della stringa
$ str = "Scrivere dati in un file usando file_put_contents ().\N";
// Scrivi il contenuto nel file
File_put_Contents ($ fileName, $ STR, file_use_include_path) o die ("impossibile aprire il file.");
Echo "Il contenuto del file:
";
// Stampa il contenuto del file
echo file_get_contents ($ fileName, true);
?>

Produzione:

Il seguente output sarebbe apparso dopo aver eseguito lo script sopra se il testo è stato scritto correttamente nel file.

Esempio-4: scrivi su un file creando una directory

Crea un file PHP con il seguente script che scriverà/sovrascriverà il testo con la nuova riga in un file di testo denominato Test.TXT Situato all'interno della directory denominata 'temporaneo'Utilizzando una funzione definita dall'utente denominata WriteIntOfile(). Questa funzione creerà la directory se la directory non esiste nella posizione corrente prima di scrivere nel file. Successivamente, la funzione file_get_contents () viene utilizzata nello script per verificare se il testo è stato scritto correttamente nel file o meno.

// Definire per funzionare per scrivere nel file creando la directory se non esiste
funzione writeIntOfile ($ dir, $ file, $ data)
// Crea la directory se non esista
Se(!is_dir ($ dir))
mkdir ($ dir);
// scrivi i dati nel file
file_put_contents ("$ dir/$ file", $ data);

// Inizializza le variabili necessarie
$ directory = 'temporaneo';
$ filename = 'test.TXT';
$ str = 'Contenuto del file di test.';
// chiama la funzione per scrivere nel file
WriteIntOfile ($ Directory, $ fileName, $ STR);
// Controllare che il file esista o no
if (file_exists ("$ directory/$ nome file")

Echo "Il contenuto del file:
";
// Stampa il contenuto del file
echo file_get_contents ("$ directory/$ nome file");

?>

Produzione:

Il seguente output sarebbe apparso dopo aver eseguito lo script sopra se il testo è stato scritto correttamente nel file.

Conclusione

Diversi modi di scrivere contenuti in un file utilizzando la funzione file_put_contents () sono stati mostrati negli esempi di questo tutorial per aiutare gli utenti PHP ad applicare questa funzione correttamente nel proprio script.