Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Lettura file

  1. #1
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    se hai un file di testo e vuoi usarlo riga per riga

    $lines=file("file.txt");

    nell' array $lines ti ritrovi tutte le linee del file.

    foreach ($lines as $testo_line)
    echo $testo_line."
    ";

    la prima linea del file è

    $lines[0]


    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  2. #2
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Forse perchè php si "accorge" che il file è finito solo DOPO aver verificato che non v'è nulla di ulteriore nel seguito.

    [.:: JaguarXF ::.]
    __________________

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    se ti serve tutto il contenuto del file allora usa file_get_contents
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Originariamente inviato da dottwatson
    se ti serve tutto il contenuto del file allora usa file_get_contents
    No: lui non vuole leggere tutto il contenuto del file!!!

    [.:: JaguarXF ::.]
    __________________

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    forse è un a capo nel file che ti da l' errore....

    apri il file e vedi dove è il puntatore
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Wait!
    Ovviamente vuoi leggere tutto il file, ma ciò non significa che lo devi caricare tutto in memoria (e ciò intendevo), proprio per ciò che hai obiettato tu stesso:

    Originariamente inviato da acweb-2004
    ci possono essere problemi di caricamento dell'array staesso se il file è di grandi dimensioni?????
    e quindi le alternative percorribili sono unicamente i comandi di tipo fgets.
    Se il file non è enorme allora certamente utilizza il comando file, che è ben più user-friendly.

    Per la questione del !feof, ti ho già dato risposta...

    [.:: JaguarXF ::.]
    __________________

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    quello in cui lui non è stato chiaro è COSA NE DEVE FARE DEL FILE!!!!

    cos'è?? una sorta di db?? è una descrizione di qualcosa? è una pizza??

    cosa fa quel file?!??!?!?!

    Originariamente inviato da acweb-2004
    Leggo un file con questo codice:


    $File = fopen("AAAAA.txt","r");
    while(!feof($File))
    {
    $linea = fgets($File, 250);$ctr++;
    echo ($linea) . "
    ";
    }
    fclose($File);echo ($ctr);exit;


    se nel file sono presenti 10 records ne vengono letti 11, anche se io ne vedo 10 in seguito al comando echo linea; ma $ctr è = a 11?????
    Non riesco a capire, il codice sembra esatto
    ciao
    augusto
    quando si parla di record mi sembra di capire che deve fungere da database,

    se invece deve solo contare le righe va benissimo anche il metodo che ti ho detto io prima...

    Codice PHP:

    //se hai un file di testo e vuoi usarlo riga per riga

    $lines=file("file.txt");

    //nell' array $lines ti ritrovi tutte le linee del file.

    foreach ($lines as $testo_line)
    echo 
    $testo_line."
    "
    ;

    //la prima linea del file è

    //$lines[0]

    // se vuoi sapere quante righe sono
    $num=(count($lines)-1
    ho usato il -1 perchè gli array iniziano da 0 e quindi ti darebbero unvalore maggiorato di 1

    il puntatore del file invece è tanto per inderci il cursore lampeggiante nel nostro caso
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    credo che questo debba essere l' ultimo dei tuoi problemi, visto che l' array spesso e volentieri è utilizzato per le letture dei db..... e non si parla di 10 o 1000 records...

    ma è una logo vita natural durante???

    sarebbe comodo che ogni tot la scaricassi....
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  9. #9
    while(!feof($fp)) non se ne accorge subito e mi fa fare una fgets (una follia- ammesso che non ci sia un qualche mio errore). Ma come è possibile che si verifichino queste stramberie!
    A dire la verità è normale che sia così, anche se può sembrare illogico, del resto è cosi anche in C
    Dolcissima è la vita nella totale assenza di senno.

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:

    $File 
    fopen("AAAAA.txt","r");
    while(!
    feof($File))
    {
    $linea fgets($File250);
    if (
    $line !="")$ctr++;
    echo (
    $linea) . "
    "
    ;
    }
    fclose($File);echo ($ctr);exit; 
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.