Scrivere file di testo con script PHP a oggetti

Per scrivere un file di testo, PHP mette a disposizioni tutte le funzioni necessarie per la completa gestione di un file, senza andare a cercare ulteriori librerie. Questo è il link alla documentazione ufficiale. Fondamentalmente ci vogliono le tre funzioni fopen, fwrite e fclose. Nella programmazione a oggetti le tre funzioni si usano nella definizione di una classe con il relativo metodo per la scrittura del file.

fopen() vuole in ingresso fondamentalmente due parametri obbligatori: il primo è il nome del file completo di percorso, il secondo è un parametro che indica con quale tipo di permesso apro il file. Se voglio un file che venga aperto con permessi di scrittura senza la sovrascrittura di eventuali testi precedenti ma ponendo il puntatore sempre alla fine del testo già scritto, allora il parametro da usare è a+. Se il file non esiste lo crea da solo e lo apre per la scrittura e lettura ponendo il puntatore alla fine del file, se il file già esiste lo apre in scrittura e lettura e pone il puntatore alla fine del file

I vari parametri utilizzabili, insieme alle complete specifiche per la funzione fopen si trovano qui

fwrite() è la funzione che scrive effettivamente il file dopo che è stato aperto. Prende in ingresso principalmente due parametri: il primo è il nome del file già processato, il secondo è la stringa da scrivere (oppure più agevolmente è il nome della variabile in cui ho messo la stringa da scrivere)

La documentazione ufficiale di fwrite() si trova qui

fclose() è la funzione che si occupa di chiudere il file che è stato aperto. Prende come parametro il file processato dalla funzione fopen.

La documentazione ufficiale di fclose() si trova qui

Questo è il codice a oggetti con la definizione della classe, lo si può racchiudere in un file a parte, che va poi incluso nella pagina php che ci interessa e che la utilizza.

<?php

class ScriviFile {
public function scriviTesto($percorsoNomeFile, $testo) {
$file = fopen($percorsoNomeFile, 'a+');
fwrite($file, $testo);
fclose($file);
}

};

?>

si richiama ora il metodo per la scrittura del file solo dove ci serve:

<?php
$stringa='stringa da scrivere nel file';
$nomeFile='nuovofile.txt';


$objScriviFile = new ScriviFile;
$objScriviFile->scriviTesto($nomeFile, $stringa);
?>

Ultima revisione pagina: 2019-05-28