Visualizzazione dei risultati da 1 a 4 su 4

Discussione: strana scrittura file

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    14

    strana scrittura file

    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

    Codice 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($filefilesize("public/prova_scrittura"));
    echo 
    "$stringa";
    fclose($file);
    ?>
    Il risultato lo potete verificare alla pagina
    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

  2. #2
    credo dipenda dalla versione di php presente sul tuo server...

    cmq aspetta rispsote più autorevoli.

    Intanto prova così e vedi cosa dice:
    Codice 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.txt""w"); 
        
    fwrite($file$_POST['testo']); 
        
    fclose($file); 
         
         

    ?> 


     

    <?php 
    $file
    =fopen("public/prova_scrittura.txt""r"); 
    $stringa=stripslashes(fread($filefilesize("public/prova_scrittura"))); 
    echo 
    "$stringa"
    fclose($file); 
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    14
    Fantastico funziona. Grazie mille

    In pratica quella funzione "stripslashes" che fa toglie le slash dalle stringhe?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    esattamente: addslashes() le aggiunge, stripslashes() le toglie...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.