HTML [HELP] Leggere il contenuto direttamente da un file .txt

X E N O N

Utente Silver
19 Settembre 2023
172
10
62
83
Salve a tutti!

Mi chiedevo se fosse possibile far leggere il contenuto di alcune stringhe (PatchNote in questo caso) direttamente da un file *.txt piuttosto che modificare ogni volta il "patchnotes.html" .

Grazie!
 
Si, puoi farlo in diversi modi:
  • Da backend, es. in php: echo nl2br(htmlentitities(file_get_contents("my.txt")));
  • Da frontend javascript inserendo uno script nella pagina html, che fa richiesta get in background al txt es: fetch("my.txt").then(function(r) { document.getElementById("divPatchNote").innerText = r.text(); }).catch(function(e) { console.log(e); });
  • Da frontend in html usando un iframe <iframe src="my.txt" width="800" height="600"></iframe>
Il primo sistema è il più veloce in quanto alla prima visita dell'utente della pagina contiene già tutto il testo che può essere inserito ovunque e stilizzato facilmente. In base al linguaggio backend scelto e alla configurazione del web server potrebbe essere necessario rinominare o accedere a patchnotes.html con un'altra estensione come php, js, java, go, rb, pl... Inoltre il linguaggio scelto deve essere supportato dal tuo server web (se è un hosting free verifica quali supporta).

Il secondo e il terzo metodo non necessitano di un linguaggio backend ma richiedono una seconda richiesta al file txt che deve trovarsi in un percorso accessibile del server web (nel primo metodo non è obbligatorio), inoltre l'utente vede apparire la pagina ma il testo arriva dopo (quanto dipende dalla qualità della connessione). Il secondo sistema è molto personalizzabile come il primo ma richiede di scrivere un po' più di codice, mentre il terzo è bruttino e non stilizzabile però è facilissimo, basta quella riga di codice html.
 
Si, puoi farlo in diversi modi:
  • Da backend, es. in php: echo nl2br(htmlentitities(file_get_contents("my.txt")));
  • Da frontend javascript inserendo uno script nella pagina html, che fa richiesta get in background al txt es: fetch("my.txt").then(function(r) { document.getElementById("divPatchNote").innerText = r.text(); }).catch(function(e) { console.log(e); });
  • Da frontend in html usando un iframe <iframe src="my.txt" width="800" height="600"></iframe>
Il primo sistema è il più veloce in quanto alla prima visita dell'utente della pagina contiene già tutto il testo che può essere inserito ovunque e stilizzato facilmente. In base al linguaggio backend scelto e alla configurazione del web server potrebbe essere necessario rinominare o accedere a patchnotes.html con un'altra estensione come php, js, java, go, rb, pl... Inoltre il linguaggio scelto deve essere supportato dal tuo server web (se è un hosting free verifica quali supporta).

Il secondo e il terzo metodo non necessitano di un linguaggio backend ma richiedono una seconda richiesta al file txt che deve trovarsi in un percorso accessibile del server web (nel primo metodo non è obbligatorio), inoltre l'utente vede apparire la pagina ma il testo arriva dopo (quanto dipende dalla qualità della connessione). Il secondo sistema è molto personalizzabile come il primo ma richiede di scrivere un po' più di codice, mentre il terzo è bruttino e non stilizzabile però è facilissimo, basta quella riga di codice html.

Ti ringrazio intanto per la risposta, chiara e coincisa.
Utilizzerò il primo metodo dopo essermi assicurato che il mio servizio di hosting (si è gratuito) supporti il linguaggio .php e a quale versione.
Non appena avrò novità, pubblicherò la soluzione pratica su questo Thread in modo che se qualcuno avesse la stessa intenzione, saprà esattamente come procedere pur essendo alle prime armi come me. Mantengo quindi aperto il Thread, e ti ringrazio ancora per l'aiuto!