Come scrivere in un file con PHP

Durante lo sviluppo di un sito web, soprattutto lato backend, si ha spesso a che fare con la modifica dei file e dei documenti presenti nel server. Molte funzioni e script che consentono il funzionamento di un sito spesso vengono eseguite proprio grazie alla lettura e scrittura di file, in maniera totalmente autonoma e programmata, così che un programmatore non debba necessariamente agire manualmente e possa concentrarsi su altri aspetti del sito.

I termini “lettura” e “scrittura” dei file in informatica sono spesso associati, ma sono due cose ben distinte e non sempre collegate. Per “lettura” infatti, s’intende esclusivamente il recupero del contenuto di un file (sola consultazione) con annesso utilizzo di quel contenuto per altri scopi; per “scrittura” invece s’intende la modifica di un contenuto di un file.

Dunque è facile capire che sono due cose ben diverse e in un sito web queste due azioni vengono eseguite in modo totalmente differente. PHP, il linguaggio di programmazione server più usato al mondo, permette sia la lettura sia la scrittura dei file di un sito. In questo articolo ci soffermeremo proprio alla “scrittura” di un file con PHP e le funzioni dedicate a questo scopo.

Scrivere e modificare il contenuto di un file del sito con PHP

In PHP sono previste alcune funzioni native per la scrittura e la modifica dei file presenti nelle directory di un sito, tramite l’esecuzione di appositi script infatti, è possibile cambiare totalmente tutto il testo di un file, indifferentemente dal formato, o aggiungere contenuto specifico.

Oltre la scrittura, può interessarti la lettura e recupero del contenuto di un file con PHP.

Qui di seguito ti mostrerò alcuni metodi e tecniche per questo scopo.

file_put_contents()

In PHP è presente la funzione nativa file_put_contents(), che com’è intuibile dal nome, consente di inserire del contenuto all’interno di un documento del sito conoscendone solo la relativa path o percorso, aggiungendo testo o sovrascrivendo completamente quello già presente.

Ad esempio, per sovrascrivere tutto il contenuto di un file con file_put_contents() il codice è il seguente:

<?php
    file_puts_contents("./pagina.php", "Ciao mondo!");
?>

Eseguendo questo script, il contenuto di “pagina.php” (un ipotetico file presente nel sito) verrà totalmente sostituito dalla stringa “Ciao mondo!“.

In alternativa è possibile accodare una stringa al contenuto già esistente con il parametro “FILE_APPEND“, (senza cancellare quello già presente nel file) in questo modo:


<?php
    file_puts_contents("./pagina.php", "Ciao mondo!", FILE_APPEND);
?>

fwrite()

In alternativa PHP dispone di ulteriori funzioni per la scrittura dei file, come fwrite(). fwrite() si adatta bene al nostro scopo, tuttavia si tratta di uno strumento più “spartano”, di livello inferiore rispetto al precedente file_put_contents().

Questo perché, spiegato semplicemente, file_put_contents() esegue autonomamente il passaggio di apertura, scrittura e chiusura del file interessato; fwrite() necessita di altre funzioni aggiuntive per ottenere lo stesso risultato.

Il codice per modificare un file con PHP e fwrite() è il seguente:

<?php
   $src = fopen("./pagina.html","w");
   fwrite($src,"Ciao mondo!");
   fclose($src);
?>

In questo modo verrà eseguita la sovrascrittura del contenuto del file cancellando quello precedente. Altrimenti si può aggiungere contenuto senza sovrascrittura (append):

<?php
   $src = fopen("./pagina.html","a");
   fwrite($src,"Ciao mondo!");
   fclose($src);
?>

Iscriviti alla nostra Newsletter qui e seguici su Facebook per aggiornamenti!


Articoli recenti:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

CAPTCHA