La funzione di file_put_contents di PHP: che cos'è? Descrizione, esempi

27/02/2019

Nel linguaggio di programmazione PHP, file_put_contents è una funzione che scrive i dati in un file con l'equivalente di fopen (), fwrite (), opposto agli operandi fread () e fclose (). Accetta come parametri due parametri: il nome del file e il contenuto da scrivere, con il terzo parametro opzionale che definisce le caratteristiche aggiuntive dell'operazione. Se il calcolo del file_put_contents in PHP viene completato correttamente, restituisce il numero di byte scritti nel file.

File_put_contents in PHP - che cos'è? esempi

algoritmo:

  • nel caso in cui USE_INCLUDE sia preimpostato, viene controllato il percorso per includere una copia di * nomefile *;
  • un file viene creato se non esiste;

  • apri il file;

  • il file è bloccato se LOCK_EX è impostato;

  • lo script va alla fine del file, altrimenti il ​​contenuto viene cancellato.

  • scrivere i dati in un file;

  • chiusura e sblocco dei file.

Questo operando restituisce il numero di caratteri scritti sul file in caso di successo o FALSE in caso di errore.

Utilizzare la funzionalità è molto semplice. esempio:


$ myarray [] = "Questa è la prima stringa";
$ myarray [] = "Questa è la seconda riga";
$ myarray [] = "Questa è la stringa tre";
$ mystring = implode ("n", $ myarray);
$ numbytes = file_put_contents ($ filename, $ mystring);
print "$ numbytes byte è scritto n";
?> file inserisci contenuti php

Ricorda che devi prima impostare il nome del file $. Inoltre, lo script è semplice, dovrebbe produrre "52 byte", che è la somma di tre righe di testo più due nuovi caratteri di stringa usati per l'array implode (). Il carattere della nuova riga è in realtà solo un carattere all'interno dei file, mentre PHP lo rappresenta utilizzando due e n.

Puoi passare il terzo parametro di file_put_contents in PHP per aggiungere del testo al tuo secondo parametro al testo esistente nel file. Se non si utilizza FILE_APPEND, il testo esistente verrà pulito e sostituito, il che non è sempre il comportamento desiderato dello script.

Possibili errori

Potrebbero esserci delle difficoltà durante la scrittura di uno script per la posta, che controlla a distanza il nostro server di posta. Deve scaricare gli allegati e copiarli in una directory sul server Web intranet locale. il file di avviso php inserisce i contenuti

Lo script legge correttamente la posta, ma quando si lavora con gli allegati, può sorgere un problema:

Avviso PHP: file_put_contents: Impossibile aprire il flusso: consentito in C: inetpubwwwrootquotation_testloglog_mailcheck.php nella riga 107.

La soluzione è controllare la direttiva open_basedir in php.ini. È necessario scoprire se esiste la directory C: inetpubwwwrootquotation_testlogscans? E aggiungerla se necessario.