Ciao a tutti, comincio con il dire che non ho molta esperienza di programmazione web. Mi sto imbattendo in un problema forse banale nello scrivere tramite form html in un file di testo (con le funzioni fopen, fwrite ecc). Ho scritto un semplice codice con il form html e con un modulo php che scrive il contenuto nel file di testo e poi dovrebbe stamparmi sulla pagina la lettura dello stesso file. Ecco il programma
Il risultato lo potete verificare alla paginaCodice PHP:
<form method="post" action="prova_scrittura.php"><textarea name="testo" type="text" value="" cols="50" rows="3"></textarea> <input type="submit" value="invia" /></form>
<?php
if($_POST['testo']!="")
{
$file=fopen("public/prova_scrittura", "w");
fwrite($file, $_POST['testo']);
fclose($file);
}
?>
<?php
$file=fopen("public/prova_scrittura", "r");
$stringa=fread($file, filesize("public/prova_scrittura"));
echo "$stringa";
fclose($file);
?>
http://www.gam42.it/prova_scrittura.php
Funziona tutto bene a meno che nel testo non vada a mettere un apostrofo. In questo caso nel file l'apostrofo viene scritto con davanti un backslash.
Credo che sia un problema di codifica del file, qualcuno mi può aiutare?
Grazie
EDIT: tra l'altro mettendo delle lettere accentate nel file compaiono dei caratteri strani, ma quando vado a fare fread per stamparlo sulla pagina i caratteri accentati corretti tornano