Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    Usare come database un file di testo

    Vorrei usare al posto di un database Mysql per la mia chat un file di testo!

    Il problema è che non ho mai usato file di testo e non so da che parte incominciare! Ho cercato delle guide ma senza risultato!

    Voi sapete indicarmene qualcuna?

    Grazie in anticipo

  2. #2
    non è cosi lineare...

    dipende cosa cerchi...cmq nel 99.999999999999999% dei casi è sconsigliato...xche se vi è una scrittura contemporanea il file si distrugge


    guide? mmm per fare questa cosa ci vuole pensare e rifletterci su e conoscere i comandi per gestire le stringhe ed i file su php

    http://it.php.net/manual/en/ref.filesystem.php
    http://it.php.net/manual/en/ref.strings.php

    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Più che altro il file di testo come database mi serviva perchè i tempi di connessione al mysql sono troppo lunghi...

    Se però c'è un altro modo...

  4. #4
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da chiamatekatia
    Più che altro il file di testo come database mi serviva perchè i tempi di connessione al mysql sono troppo lunghi...

    Se però c'è un altro modo...
    Leggi qui
    http://www.php.net/manual/it/feature...onnections.php

    Forse una connessione persistente ti può essere utile

  5. #5
    Ho letto l'articolo...Ed effettivamente potrebbe risolvere il mio problema...Ma...Non ho capito come posso creare una connessione persistente!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    128
    Io ho fatto una chat con i file di testo... vuoi qualche consiglio?

  7. #7
    Dei consigli sono sempre ben accetti!

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    128
    Credo ci sia tutto...

    Codice PHP:
    //[L'HO MESSA IN UN IFRAME]

    print "<iframe src=\"messages.php\" width=\"820\" height=\"420\">";
    print 
    "</iframe></div>\n";


    //MODULO DI INVIO MESSAGGIO

    echo <<<FORM1


    <font size="-1">
    <form name="chat" method="post" action="questofile.php">
    <input type="text" name="message" size="70">
    <input type="submit" value="Invia"></form></font>
    FORM1;


    //HEADER E FOOTER

    $header "<html><head>\n".
              
    "<meta http-equiv=\"refresh\" content=\"10\">\n"
              
    "</head>\n".
              
    "<body bgcolor=\"#B9DFFF\" text=\"#000000\" onload=\"location.href='#bottom'\">\n";

    $footer "<a name=\"bottom\"> </a>\n</body>\n</html>";


    //PREPARAZIONE MESSAGGIO

    $message htmlspecialchars($message);
    $message trim($message);

    $new_message "<font size=\"2\" color=\"#000000\">[$variabiletime -]"
        
    "<font size=\"3\" color=\"#000080\">[b] $nick: [/b]".
        
    "<font color=\"#000000\">$message</font>
    "



    //SCRIVE SU FILE

    $filename "messages.txt";
    if (
    $message != ""){
     
    $open_text fopen($filename"a");
     
    fputs($open_text$new_message);
     
    fclose($open_text);
    }

    $fd fopen ($filename"r");
    $new_text fread ($fdfilesize ($filename));
    fclose ($fd);

    $open_file fopen("messages.php""w");
    fputs($open_file$header);
    fputs($open_file$new_text);
    fputs($open_file$footer);
    fclose($open_file); 

    Se vuoi informazioni contattami.

    Ciao.

  9. #9
    Mmmmh....Ho letto e più o meno ho capito tutto!

    Però non mi è ben chiara la parte di scrittura!

    In primis questo...Non capisco a cosa serva...

    Codice PHP:

    $fd 
    fopen ($filename"r");
    $new_text fread ($fdfilesize ($filename));
    fclose ($fd); 
    Poi questo...Che...A me sembra inutile...Ma sicuramente non è cosi...

    Codice PHP:

    $open_file 
    fopen("messages.php""w");
    fputs($open_file$header);
    fputs($open_file$new_text);
    fputs($open_file$footer);
    fclose($open_file); 
    Comunque grazie mille!

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    128
    Dunque, dato che la chattata è solitamente molto lunga, ho preferito metterla in un iFrame in modo da poterla fare scorrere in automatico verso il basso, ovvero verso l'ultimo messaggio.

    Attenzione, creo 2 file
    message.txt
    message.php
    Nel primo metterò semplicemente il testo, nel secondo il codice che poi mi restituirà la pagina in iFrame.

    Codice PHP:
    //Definisco l'iframe
    print "<iframe src=\"messages.php\" width=\"820\" height=\"420\">";
    print 
    "</iframe></div>\n";

    //Modulo di invio messaggio
    echo <<<FORM1


    <font size="-1"> //questo puoi toglierlo, l'ho messo per esigenze mie!
    <form name="chat" method="post" action="questofile.php">
    <input type="text" name="message" size="70">
    <input type="submit" value="Invia"></form></font>
    FORM1;


    //HEADER E FOOTER

    $header "<html><head>\n".

    //faccio il refresh ogni 10 secondi
              
    "<meta http-equiv=\"refresh\" content=\"10\">\n"
              
    "</head>\n".

    //ad ogni refresh la pagina si sposta verso il basso, ovvero verso 
    //l'ultimo messaggio, così:
              
    "<body bgcolor=\"#B9DFFF\" text=\"#000000\" onload=\"location.href='#bottom'\">\n"

    //riferimento del 'location', deve stare in fondo alla pagina
    $footer "<a name=\"bottom\"> </a>\n</body>\n</html>"

    //PREPARAZIONE MESSAGGIO

    $message htmlspecialchars($message);
    $message trim($message);

    $new_message "<font size=\"2\" color=\"#000000\">".

    //se vuoi mettere l'ora accanto al nick in ogni messaggio
        
    "[$variabiletime -]"
        
    "<font size=\"3\" color=\"#000080\">[b] $nick: [/b]".
        
    "<font color=\"#000000\">$message</font>
    "



    //SCRIVE SU FILE

    $filename "messages.txt";

    //se il messaggio è vuoto non lo invia
    if ($message != ""){
     
    $open_text fopen($filename"a"); 

    //[U]"a"[/U] apre in scrittura senza cancellare, posizionandoti direttamente alla fine del testo presente

    //scrivo il nuovo messaggio in fondo alla pagina, ovvero per ultimo
     
    fputs($open_text$new_message); 
     
    fclose($open_text);
    }

    //una volta aggiunto il nuovo messaggio, riapro il file in lettura, 
    //per prenderne tutto il contenuto
    $fd fopen ($filename"r"); 

    //metto nella variabile $new_text tutto il contenuto del file
    $new_text fread ($fdfilesize ($filename)); 
    fclose ($fd);

    //adesso apro in scrittura il file message.php (e non .txt!)
    //Quando apri un file con "w" puoi scriverci dentro, ma questo ti 
    //cancellerà tutto il testo che era precedentemente presente 
    //nel file! Quindi...
    $open_file fopen("messages.php""w"); 

    //Riscrivo l'Header
    fputs($open_file$header); 

    //Scrivo il nuovo testo (intero, non solo $new_message!)
    fputs($open_file$new_text); 

    //Riscrivo il Footer
    fputs($open_file$footer); 
    fclose($open_file); 
    C'è un problema che però non ho risolto. I caratteri
    '
    "
    \
    mi vengono scritti con la barra, ovvero
    \'
    \"
    \\
    Se riesci a risolvere questa situazione (tu o chiunque altro) fammelo sapere. Sono sicuro che è una cavolata... ma io programmo in php da due settimane, comprendimi!

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.