Visualizzazione risultati 1 fino 9 di 9

Discussione: leggere

  1. #1
    Guest

    Predefinito

    Come posso fare per far visualizzare tutto il contenuto di un file tranne la prima righa?


    Grazie

  2. #2
    radaweb non è connesso Utente giovane
    Data registrazione
    17-05-2003
    Messaggi
    53

    Predefinito

    dunque dunque...
    prova così (codice non testato e scritto al volo):

    $contenuto = file("nomefile.est"); //mette le righe del file in un array

    //per ogni riga a partire dalla seconda, la visualizza e va a capo
    for($i = 1; $i < sizeof($contenuto); $i++)
    echo $contenuto[$i]."<br>";

    //versione 2: trim() toglie gli (eventuali) spazi a destra e a sinistra
    //e' importante perchè file() lascia il carattere 'a capo' alla fine di ogni riga dell'array e può essere scomodo
    for($i = 1; $i < sizeof($contenuto); $i++)
    echo trim($contenuto[$i])."<br>";
    It's always a good day to code

  3. #3
    Guest

    Predefinito

    Io volevo fare una cosa un po diversa.

    Mi puoi dire come posso fare per verificare quale sia il num dell'array con un if? o maggiore di un numero o minore?


    Grazie

  4. #4
    radaweb non è connesso Utente giovane
    Data registrazione
    17-05-2003
    Messaggi
    53

    Predefinito

    Citazione Originalmente inviato da aurora75
    Io volevo fare una cosa un po diversa.

    Mi puoi dire come posso fare per verificare quale sia il num dell'array con un if? o maggiore di un numero o minore?


    Grazie
    Mah, non capisco cosa mi stai chiedendo :)
    Puoi essere un po più preciso?
    It's always a good day to code

  5. #5
    Guest

    Predefinito

    Vorrei sapere come posso fare per fare un if che controlla il numero dell'array

    Partiamo dall'inizio:

    Io voglio leggere un file e la prima riga visualizzarla in un modo


    mentre le altre in un altro

    Quindi se uso $file = file("file.est")

    avrò $file[1] con la prima riga
    e $file[2] $file[3] $file[4] $file[5] $file[6]
    etc con le altre righe

    io voglio di $file[1] voglio farne un uso mentre degli altri voglio farne un uso diverso.


    Come posso fare?

    Avete soluzioni diverse dall'usare il comando file ottenendo quello che chiedo?

    Grazie

  6. #6
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Citazione Originalmente inviato da aurora75
    Vorrei sapere come posso fare per fare un if che controlla il numero dell'array

    Partiamo dall'inizio:

    Io voglio leggere un file e la prima riga visualizzarla in un modo


    mentre le altre in un altro

    Quindi se uso $file = file("file.est")

    avrò $file[1] con la prima riga
    e $file[2] $file[3] $file[4] $file[5] $file[6]
    etc con le altre righe

    io voglio di $file[1] voglio farne un uso mentre degli altri voglio farne un uso diverso.


    Come posso fare?

    Avete soluzioni diverse dall'usare il comando file ottenendo quello che chiedo?

    Grazie
    prova così:

    apri il file come ti è stato detto

    quindi ti stampi la prima riga puntando all'indice zero dell'array, a questo punto togli la prima riga e sposti tutto l'arrray in basso con la funzione array_shift()

    ed infini per semplificarti la vita fai un $testo = implode("", $array) e ottieni tutto il contenuto dell'array copiato in una stringa senza incasinarti con cicli etc
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da Evcz
    prova così:

    apri il file come ti è stato detto

    quindi ti stampi la prima riga puntando all'indice zero dell'array, a questo punto togli la prima riga e sposti tutto l'arrray in basso con la funzione array_shift()

    ed infini per semplificarti la vita fai un $testo = implode("", $array) e ottieni tutto il contenuto dell'array copiato in una stringa senza incasinarti con cicli etc
    Prima che postavi ho fatto così.
    [code:1:44feeb1c8c] foreach($file as $numline => $line) {
    if($numline>0) {
    echo $line;
    }

    else {
    echo "<b>".$line."</b><br>";
    }
    }
    [/code:1:44feeb1c8c]
    Va bene? E' meglio il tuo? E' più veloce il tuo?


    Mi puoi dire come posso unire un array tipo con implode senza includere il primo elemento o più elementi senza eliminarli fisicamente dall'array


    Grazie

  8. #8
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Citazione Originalmente inviato da aurora75
    Va bene? E' meglio il tuo? E' più veloce il tuo?


    Mi puoi dire come posso unire un array tipo con implode senza includere il primo elemento o più elementi senza eliminarli fisicamente dall'array


    Grazie
    l'implode come ti ho suggerito io dovrebbe essere più veloce (è ottimizzato direttamente per fare quel tipo di funzione e può manipolare automaticamente la zona di memoria contenente l'array, un ciclo come fai tu invece ti costringe a spazzolare l'array da in cima in fondo consumando + risorse)

    questo il codice complessivo che ti consiglio:
    [code:1:6a3811d708]$contenuto = file("nomefile.est");
    $riga1 = array_shift($contenuto);
    $contenutoSenzaRiga1 = implode("",$contenuto);
    [/code:1:6a3811d708]

    in $riga1 avrai il contenuto della prima riga in $contenutoSenzaRiga1 tutto il resto.

    byez
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  9. #9
    Guest

    Predefinito

    Grazie

Regole di scrittura

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