Visualizzazione risultati 1 fino 5 di 5

Discussione: [PHP] Invertire l'ordine delle linee di un file txt

  1. #1
    Guest

    Predefinito

    Ho inserito in una pagina un piccolo guestbook che registra ogni messaggio in un file txt aggiungendo una riga di testo per ogni nuova entry, del tipo

    nome, messaggio
    nome2, messaggio2

    ecc...

    Come posso, quando il file txt viene letto, invertire l'ordine di tutte le righe in modo che l'ultimo messaggio venga visualizzato per primo e non ultimo in fondo?

    Nello script originale veniva usato:

    rsort($each_line);

    ma il risultato è un ordine alfabetico per il nome inserito.. boh!

  2. #2
    Guest

    Predefinito

    [code:1:2beb6c453f]
    function readGuestbook(){

    $fp=fopen("guestbook.data",r) or exit;
    $rawdata=fread($fp,filesize("guestboo k.data"));
    fclose($fp);

    if($rawdata == ""){
    echo "<p><font face=\"verdana\" size=\"1\">Guestbook vuoto</font></p>";
    return;
    }

    $each_line = explode("\n",$rawdata);
    rsort($each_line);[/code:1:2beb6c453f]

    Posto l'intera parte di script :)

  3. #3
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Prova con:
    $each_line=array_reverse($each_line)
    al posto di rsort, anche se dovrebbe essere uguale.

    O semplicemente prova con un ciclo for($i=count($each_line);$i>-1;$i--) in fase di stampa di $each_line, lasciando perdere di ordinare materialmente l'array.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  4. #4
    Guest

    Predefinito

    clinicamente testato hghghgh
    <?
    $file = "prova.txt";
    $lines = file($file);
    $a = count($lines);
    for($i = $a; $i > -1 ;$i--){
    $read = $lines[$i] . "<br>";
    echo $read;
    }
    ?>

    ciaux ;)

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    Prova con:
    $each_line=array_reverse($each_line)
    al posto di rsort, anche se dovrebbe essere uguale
    Provando più volte con questo script alla fine ci sono riuscito..

    Più per tentativi qui è lì a senso che per reale conoscenza di Php :p

    Grazie a tutti!

Regole di scrittura

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