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.
algoritmo:
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:
PHP
$ 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";
?>
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.
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.
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.