Visualizzazione risultati 1 fino 12 di 12

Discussione: cancellare contenuto file di testo

  1. #1
    Guest

    Predefinito cancellare contenuto file di testo

    un saluto a tutti, nel mio sito ( http://www.siticreato.altervista.org/fotoguestbook.html ) ho inserito questo fotoguestbook,
    funziona in questo modo:

    inserisco i dati che vengono elaborati dallo script2.php, dopo compare la pagina che il commento e stato inserito correttamente e premendo sul vedi commenti compare l'ultima pagina che visualizza i dati ( http://www.siticreato.altervista.org/commenti.php ).

    nel file.txt dove vengono memorizzati i dati vengono visualizzati in questo modo:


    <center><table border="1" width="700" height="150" cellpadding="3" bordercolor="green" bgcolor="white"><tr><td align="center" width="200"><img src="public/foto/nofoto.jpg" height="133" /></td><td valign="top" align="left"><font size="2"><b>Nome:</b> prova</font> - <font size="2"><b>Tel.: </b></font> - <font size="2"><b>E-Mail: </b><a href="mailto:"></a></font><hr /><font size="2"><b>Commento:</b><i> prova</i></font></td></tr></table></center><center><table border="1" width="700" height="150" cellpadding="3" bordercolor="green" bgcolor="white"><tr><td align="center" width="200"><img src="public/foto/nofoto.jpg" height="133" /></td><td valign="top" align="left"><font size="2"><b>Nome:</b> Marco</font> - <font size="2"><b>Tel.: </b></font> - <font size="2"><b>E-Mail: </b><a href="mailto:"></a></font><hr /><font size="2"><b>Commento:</b><i> Marco</i></font></td></tr></table></center><center><table border="1" width="700" height="150" cellpadding="3" bordercolor="green" bgcolor="white"><tr><td align="center" width="200"><img src="public/foto/nofoto.jpg" height="133" /></td><td valign="top" align="left"><font size="2"><b>Nome:</b> prova</font> - <font size="2"><b>Tel.: </b></font> - <font size="2"><b>E-Mail: </b><a href="mailto:"></a></font><hr /><font size="2"><b>Commento:</b><i> prova</i></font></td></tr></table></center>

    secondo voi potrei mettere un pulsante per cancellare una di queste tabelle?
    invece di catalograre in modo continuo vorrei che tra l'inizio di una tabella e l'altra vengono visualizzate in questo modo

    <center> <table ....</table></center>
    <center> <table ....</table></center>
    ecc
    ecc

    se si come potrei fare?

    grazie

  2. #2
    Guest

    Predefinito

    Non capisco: vuoi catalogare i commenti in modo ordinato o vuoi cancellare una tabella?
    Io personalmente, però, ti consiglierei di creare un file txt per ogni commento, e non mettere tutti i commenti in un unico file(che risulta molto più disordinato).

  3. #3
    Guest

    Predefinito

    io uso questo per svuotare il contenuto di un file:


    <input type='submit' name='Svuota' value=' Svuota '>

    <?php
    if (isset($Svuota))
    $nome_file="testo.txt";
    if (!file_exists($nome_file)) {
    } else {
    if (!unlink($nome_file)) {
    } else {
    echo "Il file $nome_file � stato cancellato";
    header("Refresh");
    }
    }
    ?>

  4. #4
    Guest

    Predefinito

    grazie per i suggerimenti terzadstm, crazyboy92

    per terzadstm: nel codice script2.php come potrei modificarlo per far scrivere su più file txt?

    per crazyboy92: e se volessi cancellare solo una tabella? ( vedi http://www.siticreato.altervista.org/commenti.php

  5. #5
    Guest

    Predefinito

    allora mi correggo, l istruzione che ho usato prima è per eliminare un file (e quindi non per svuotarlo), scusate, errore fatto in buona fede.

    per svuotare il contenuto si usa questo codice

    file_put_contents("log.txt", '');

    @sitocreato: penso che una soluzione possa essere, come suggerito da terzadstm, quella di creare un file per ogni commento..

  6. #6
    Guest

    Predefinito

    per crazyboy92: rimane il problema che non so quanti file devo creare. c'è un modo per farlo creare da solo?

    invece con un solo file ho tutto li dentro (ma tutto disordinato, esempio: <center><table ....></table></center><center><table ....></table></center><center><table ....></table></center>.

  7. #7
    Guest

    Predefinito

    Il metodo in cui salvi i dati è molto disordinato, non dovresti salvare i tag HTML, ma soltanto (nel tuo caso) nome, telefono, email e il commento.

  8. #8
    Guest

    Predefinito

    ciao nokiagames: come potrei fare per salvare soltanto nome,telefono,email e commento?

  9. #9
    Guest

    Thumbs up

    Ecco cosa ti suggerisco: salvi nel file.txt solo nome, telefono email e commento, in questo modo:


    ///nome:telefono:email:commento


    esempio:///terzadstm:0234432786:terzadstm@dominio.it:QUESTO E' IL MIO COMMENTO


    Poi quando devi visualizzarli basta un codice php del genere:
    Codice PHP:
    $open=fopen("commenti.txt","r");//apro il file contenente i commenti
    $read=fread($open,filesize("commenti.txt"));//nel leggo il contenuto
    fclose();//chiudo il file
    $commenti=explode("///",$read);//con la funzione explode immagazzino ogni commento inserito in un array
    $i=0;
    while(
    $i<count($commenti))//eseguo un ciclo while per ogni elemento dell'array
    {
    $elementi=explode(":",$commenti[$i]);//estraggo tutti gli elementi da ogni commento
    //scrivo tutti gli elementi del commento(aggiungendo, volendo, la formattazione)
    echo"nome:".$elementi[0]."<br>";
    echo
    "telefono:".$elementi[1]."<br>";
    echo
    "email:".$elementi[2]."<br>";
    echo
    "commento:".$elementi[3]."<br><br>";
    }
    Ora, è anche più semplice cancellare ciò che vuoi:

    Codice PHP:
    $numero=1;//il numero del commento che vuoi cancellare
    $open=fopen("commenti.txt","r");//apro il file contenente i commenti
    $read=fread($open,filesize("commenti.txt"));//nel leggo il contenuto
    fclose();//chiudo il file
    $commenti=explode("///",$read);//con la funzione explode immagazzino ogni commento inserito in un array
    $commenti[$numero]="";//cancelli il commento che vuoi
    $i=0;
    while(
    $i<count($commenti))//eseguo un ciclo while per ogni elemento dell'array
    {
    $stringa.=$commenti[$i];//concateno ogni elemento ad una stringa
    }
    $open=fopen("commenti.txt","w");//apro il file contenente i commenti
    fwrite($open,$stringa);//riscrivo nel file tutti i commenti(uno però è stato cancellato)
    fclose();//chiudo il file
    Spero di esserti stato utile! Fammi sapere!

  10. #10
    Guest

    Predefinito

    grazie per il suggerimento l'unica cosa non so come modificare quello già esistente.

  11. #11
    Guest

    Talking

    Codice PHP:
    <?php
    $data
    =date("d-m-Y");
    $ora=date("G:i");
    $nome=Stripslashes(Strip_tags($_POST['nome']));
    $commento=Stripslashes(Strip_tags($_POST['commento']));
    $mail=Stripslashes(Strip_tags($_POST['mail']));
    $tel=Stripslashes(Strip_tags($_POST['tel']));
    $code = rand(1, 9999);
    $nomeimmagine = "$nome"."$code".'.jpg';
    $ver = $_POST['num'];
    if ((
    $nome == "" ) || ( $commento == "" ) || ($ver != '8')) {
    header("Location: http://www.siticreato.altervista.org/fotoguestbook.html");
    } else {
    if (
    $uploadedfile == "") {
    $var=@fopen("public/contatore.txt",'r');
    $leggi=@fread($var,filesize("public/contatore.txt"));
    @
    fclose($var);
    /* if ($leggi==null){
    $leggi=1;
    }
    else{
    $leggi=$leggi+1;
    }
    $var=@fopen("public/contatore.txt",'w');
    @fwrite($var,$leggi);
    @fclose($var);
    */
    $var=fopen("public/aggiornamenti.txt","w+");
    fwrite($var, '<div align="center"><font size="2">Totale messaggi inseriti: '."$leggi".'</font><br /><font size="2">Ultimo messaggio inserito da: <b>'."$nome".'</b> in data: '."$data".' alle ore: '."$ora".'</font></div>');
    fclose($var);
    $leggi_file=fopen("public/fguest.txt","r");
    $dim_file=filesize("public/fguest.txt");
    $contenuto=@fread($leggi_file,$dim_file);
    fclose($leggi_file);
    $var=fopen("public/fguest.txt","w");
    fwrite($var, "///$nome:$mail:$commento\n".$contenuto);
    fclose($var);

    header("Location: http://www.siticreato.altervista.org/redirect2.php");
    } else {
    copy($uploadedfile,"public/temp/$uploadedfile_name");
    $fullsize=imagecreatefromjpeg("public/temp/$uploadedfile_name");
    $fullsize_height=imagesy($fullsize);
    $fullsize_width=imagesx($fullsize);
    $thumb_width=180;
    $thumb_height=floor($fullsize_height/($fullsize_width/$thumb_width));
    $thumb=imagecreatetruecolor($thumb_width,$thumb_height);
    imagecopyresampled($thumb,$fullsize,0,0,0,0,$thumb_width,$thumb_height,$fullsize_width,$fullsize_height);
    imagedestroy($fullsize);
    imagejpeg ($thumb,"public/foto/$uploadedfile_name");
    imagedestroy($thumb);
    $nomeimm=$uploadedfile_name;
    rename("public/foto/$nomeimm", "public/foto/$nomeimmagine");
    unlink ("public/temp/$nomeimm");
    $var=@fopen("public/contatore.txt",'r');
    $leggi=@fread($var,filesize("public/contatore.txt"));
    @
    fclose($var);
    /*if ($leggi==null){
    $leggi=1;
    }
    else{
    $leggi=$leggi+1;
    }*/
    $var=@fopen("public/contatore.txt",'w');
    @
    fwrite($var,$leggi);
    @
    fclose($var);
    $var=fopen("public/aggiornamenti.txt","w+");
    fwrite($var, '<div align="center"><font size="2">Totale messaggi inseriti: '."$leggi".'</font><br /><font size="2">Ultimo messaggio inserito da: <b>'."$nome".'</b> in data: '."$data".' alle ore: '."$ora".'</font></div>');
    fclose($var);
    $leggi_file=fopen("public/fguest.txt","r");
    $dim_file=filesize("public/fguest.txt");
    $contenuto=@fread($leggi_file,$dim_file);
    fclose($leggi_file);
    $var=fopen("public/fguest.txt","w");
    fwrite($var, "///$nome:$mail:$commento\n".$contenuto);
    fclose($var);
    header("Location: http://www.siticreato.altervista.org/redirect2.php");
    }
    }
    ?>
    uhhh... Fatto, è stato un lavorone ma così dovrebbe andare (anche sen non l'ho provato) Ovviamente per visualizzare i messaggi dovrai utilizzare il codice che ti ho fornito(modificando ovviamente i nomi dei file.txt)
    Spero di esserti stato utile!!
    Ultima modifica di terzadstm : 31-07-2009 alle ore 16.17.24

  12. #12
    Guest

    Predefinito

    ciao terzadstm grazie per l'aiuto.
    scusami se ti scrivo solo ora.
    grazie ancora, ti farò sapere se funzione...sicuramente si
    grazie grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •