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

    Lettura file dal basso e stampa ultime righe con esclusione

    Ciao a tutti !!! Sono un nuovo iscritto ma in realtà da anni seguo HTML.it

    Dovrei leggere un file di testo dal basso verso l'alto. Es:
    -------------File txt---------------
    [50] Faro anteriore Sx - Honda Accord 1999
    [51] Motorino di avviamento - Fiat Punto 2004
    [52] Faro anteriore Sx - Lancia Dedra 2002
    [53] Lucciola laterale - Fiat Punto 2006
    [54] Spazzola tergi ant - Alfa Mito 2011
    - DDT N. 235 - 17/09/2011 -
    - Sezione Af24 -
    -----------------------------------

    Vorrei estrapolare solo le ultime 10 righe (che sono comunque sempre identificate con le parentesi ] davanti) escludendo le ultime 2 righe in modo che mi stampi a video solo le righe dei ricambi in ordine decrescente. Il risultato dovrebbe esere:

    Spazzola tergi ant - Alfa Mito 2011
    Lucciola laterale - Fiat Punto 2006
    Faro anteriore Sx - Lancia Dedra 2002
    ecc...

    Ho provato in questo modo ma non ne vengo a capo in quanto mi stampa solo le prime 10 dell'elenco in ordine decrescente ma non parte dal basso.
    Premetto che da 0 a 10 in php sono su 0.5. Mi sono appena appena appassionato e sto cercando di capirci qualcosa facendo piccoli e semplici script.

    Codice PHP:
    $file "http://192.168.1.4/auto/settembre.txt";
    $dir="$file";
     
    $contenuto file_get_contents($dir);
     
    $riga=explode("\n",$contenuto);
     for(
    $i=10;$i>0;--$i){
     
    $arrparole=explode("]",$riga[$i]);
    echo
    "$arrparole[1]
    "
    ;

    Grazie a tutti !!

  2. #2
    $righe contiene un array con chiavi numeriche con ciascun elemento = una riga del file

    $righe = explode("\n",$contenuto);

    ti basta fare

    codice:
    for ( $i = count($righe)-1; $i >= 0; ++$i) {
    $arrparole = explode("]",$righe[$i]); 
    echo $arrparole[1],"
    ";
    }

  3. #3
    Grazie Ratatuia !!!
    Funziona. L'unica cosa è che stampa tutto il file ora in modo inverso mentre vorrei che fosse massimo 10 righe.
    se uso $i=10 es:

    Codice PHP:
    for ( $i count($righe)-1$i=10; ++$i) { 
    lo script si blocca.
    Si può aggiungere l'eccezione che gli indichi di stampare massimo 10 righe ?

    Grazie.

  4. #4
    la condizione centrale è il limite (ovvero la condizione per cui il ciclo viene eseguito), quindi se tu metti che $i deve essere uguale a 10, a meno che count($righe)-1 sia uguale a 10

    (in più mi sono accorto che invece di incrementare devi decrementare $i)

    se vuoi stampare solo 10 righe devi fare

    for ( $i = count($righe)-1; $i >= count($righe)-10-1; --$i ) {
    ...
    }

    ovviamente count($righe)-10-1 può essere sostituito con count($righe)-9, ma è per farti capire come funziona

  5. #5
    Ottimo.. provato e va benisimo.
    mi ero accorto e avevo già sostituito ++$ con --$

    Grazie ancora !!!

  6. #6
    Non vorrei approfittarne troppo

    ho solo un altro piccolo dubbio

    se faccio:

    Codice PHP:
    $dd=$arrparole[1];
    echo 
    $dd,"
    "
    ;

    ed inserisco l'echo in una tabella così:

    Codice PHP:
    echo '<th width=40% align= LEFT>[url="index.php?search='.$dd.'"]<font color=#E0FFFF size=1>'.$dd.'[/url]</font></td>
    '

    come mai mi stampa a video solo l'ultima della 10 righe ?
    se effettuo l'echo senza tabella le stampa correttamente tutte.


  7. #7
    Magari con un po' di ordine e logica nella chiusura dei tag html è meglio:

    Codice PHP:
    echo '<th width=40% align= LEFT><font color=#E0FFFF size=1>[url="index.php?search='.$dd.'"]'.$dd.'[/url]</font></td>
    '

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Grazie satifal

    Cambia l'ordine ma il risultato è sempre la stampa dell'ultima riga. Le altre 9 non le stampa.

  9. #9
    magari perchè apri con un <th> e chiudi con </td>

    inoltre perchè metti
    dopo la cella di una tabella? per fare una nuova riga?

  10. #10
    Codice PHP:
    echo '<th width=40% align= LEFT>[url="index.php?search='.$dd.'"]<font color=#E0FFFF size=1>'.$dd.'[/url]</font></th>'
    è uguale. ci stava il
    perchè prima di usare questo script richiamavo una ad una le righe del file andando a capo

    Codice PHP:
    $c1 count($auto_txt) -3
    $c2 count($auto_txt) -4
    $c3 count($auto_txt) -5
    $c4 count($auto_txt) -6
    $c5 count($auto_txt) -7
    $c6 count($auto_txt) -8
    $c7 count($auto_txt) -9
    $c8 count($auto_txt) -10
    La chiusura era un errore. Non cambia cmq. Se inserito nella cella restituisce sempre una sola riga.

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.