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

    problemi con file di testo e php

    Buonasera,
    ho alcuni problemi legati al php: nel sito che sto costruendo ho implementato un semplice metodo per inserire degli eventi (con titolo, data e testo) via form nella pagina riservata agli amministratori. L'evento viene stampato su un file di testo nella cartella public

    echo fwrite($file,"<h6>$title</h6></br><h5>$date</h5>

    $text

    ");

    e poi viene letto nella pagina interessata.
    Ora:

    1) come posso gestire le lettere accentate e i caratteri speciali? ho trovato una funzione su internet: http://www.attivaweb.com/it/blog/cat...ntate-con-php/ ma non so dove aggiungerla.

    2) il testo non va automaticamente a capo quando raggiunge la fine della pagina

    3) come posso fare per permettere l'edit e la cancellazione online un file?


    Grazie mille! Il sito è questo: http://www.coroconcorezzo.it/circolino/ (la parte interessata è sotto "iniziative")


    Luca

  2. #2
    1) http://php.net/manual/en/function.htmlentities.php

    2)
    Codice PHP:
    echo fwrite($file,"<h6>$title</h6></br><h5>$date</h5>

    $text

    \r\n"
    ); 

    3) lo leggi in una <textarea> mettendo all'interno:
    Codice PHP:
    <?php echo file_get_contents("nomefile.xxx"); ?>

    Alberto
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  3. #3
    esiste gia una funzione di questo tipo e non c è bisogno di crearla
    quella da te indicata dal link non mi sembra molto ottimale ,quindi ti consiglio di usare una funzione standart php : htmlspecialchars che dovrebbe fare propio al caso tuo.

    per maggiori info vai sul sito principale :
    http://php.net/manual/en/function.htmlspecialchars.php


    spero di esserti stato utile.

  4. #4
    Grazie! La 2 funziona, ora mi metto a guardare la correzione automatica dei caratteri speciali. Nel frattempo ho un altro problema: vorrei prendere tutti i file di testo creati (con tutti i post) e farne l'echo a video in loop. Però non ho mai fatto l'echo di una stringa in php, infatti non funziona! Non mi butta fuori nulla, tutto bianco. Secondo voi come mai? In quella cartella ci sono solo i file di testo, chiamati 0.txt, 1.txt, 2.txt ecc..

    Il codice:

    <?php
    $path = '../public/events';
    if ($handle = opendir($path)) {
    while (false !== ($file = readdir($handle))) {
    if ( $file == "." || $file == ".." ){} else {
    echo "<? include(\"$path/$file\"); ?>";
    }
    }
    closedir($handle);
    }
    ?>


    Inoltre, quando parlavo di modificare il file di testo, in realtà avrei bisogno di una cosa più sottile. Nel mio form, dove creo il file, ho i seguenti campi:

    title
    date
    text

    e il file di testo che mi viene creato ha la seguente forma:

    <h6>$title</h6></br><h5>$date</h5>

    $text

    </br>

    Ora, non vorrei proprio modificare il file di testo (l'utente non saprebbe cosa farsene!) ma solo le stringhe $title, $date, $text. Secondo voi è possibile? E' la prima volta che ci provo!

    Grazie!!

  5. #5
    Al posto di include usa:
    Codice PHP:
    <?php echo file_get_contents("nomefile.xxx"); ?>

    Se l'html che contiene le variabili di ogni news è lo stesso, perché non lo aggiungi direttamente sulle pagine html e nel file lasci solo:
    codice:
    titolo|data|text
    ?

    Facendo così, se un giorno vorrai cambiare il codice html dovrai cambiarlo solo in una pagina html piuttosto che in ogni file contenente una news.

    Alberto
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  6. #6
    In che senso dici? Faccio un ciclo in php che mi butta fuori i contenuti del file che sono solo titolo data e teso? Ma così facendo come faccio ad aprire il file e ad estrapolare i valori?
    Grazie!

  7. #7
    Da quel che ho capito hai una news in un file.

    Codice PHP:
    $f file_get_contents('singola_news.txt');
    $valori explode("|"$f);

    print_r($valori); // valori è un array contenente 3 elementi 
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  8. #8
    Originariamente inviato da Albertorrr
    Al posto di include usa:
    Codice PHP:
    <?php echo file_get_contents("nomefile.xxx"); ?>

    Se l'html che contiene le variabili di ogni news è lo stesso, perché non lo aggiungi direttamente sulle pagine html e nel file lasci solo:
    codice:
    titolo|data|text
    ?

    Facendo così, se un giorno vorrai cambiare il codice html dovrai cambiarlo solo in una pagina html piuttosto che in ogni file contenente una news.

    Alberto
    Scusa, ma non funziona ancora... non esce niente!

    Codice PHP:
    <?php 
    $path 
    '../public/events';
        if (
    $handle opendir($path)) { 
        while (
    false !== ($file readdir($handle))) {   
               if ( 
    $file == "." || $file == ".." ){} else { /* Controllo che elimina la up dir e la up up dir */    
                
    echo "<? echo file_get_contents(\"$path/$file\"); ?>"
            }
        } 
        
    closedir($handle); 
    }
    ?>

  9. #9
    Intanto sostistuisci:
    Codice PHP:
    echo "<? echo file_get_contents(\"$path/$file\"); ?>";
    Con:
    Codice PHP:
    echo file_get_contents("$path/$file"); 
    I tag sono già aperti in questo caso.
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  10. #10
    Grande
    Ora come posso fare a dirgli di mettermi prima i file più recenti? Mio malgrado l'unico modo che ho trovato per chiamarli in modo diverso è stato "Evento0.txt", "Evento1.txt", "Evento2.txt",ecc... tramite un contatore, ma in questo modo mi stampa sempre per primo l'elemento meno recente!

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.