Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420

    ciclo while [proncipiante]

    Ciao a tutti, chi mi aiuta a capire qualcosa su questo ciclo?
    Lo copio pari pari da una guida che sto seguendo:

    codice:
    $textfile = fopen("iscritti.txt", "r");
    $righefile = '';
    
    while ($rigafile = fgets($textfile,1024)) {
    $campiriga = explode("|", $rigafile);
    $cid = $campiriga[0];
    $cnome = $campiriga[1];
    $ccognome = $campiriga[2];
    $cemail = $campiriga[3];
    $rigafile = $cid . $cnome . $ccognome . $cemail . "\n";
    echo "$rigafile";
    }
    fclose($textfile);
    Tranne il fatto che non va a capo ma mi fa vedere tutte le righe di seguito, quello che nn capisco è proprio come fa a funzionare!
    Negli altri cicli while che mi è capitato di vedere (in C soprattutto), nelle condizioni del while ce n'era sempre una che gli diceva di incrementare il contatore.. .o di passare al rigo successivo... qui invece non ce ne sono...
    Quello che mi chiedo è, come fa a ciclare?!
    Quello che capisco è "leggi dal file e metti nella variabile $rigafile; finchè la variabile contiene qualcosa, spacca il rigo e mostrami tutte le variabili"; ma poi come fa a passare al rigo successivo del file? Dove gliela comunico sta cosa?
    Grazie a tutti...

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Con questo ciclo si legge il contenuto di un file, 1024 byte alla volta.
    Il ciclo termina quando fgets($textfile,1024) vale false, ovvero quando il file è stato letto tutto.

  3. #3
    Per andare a capo hai bisogno di sostituire i "ritorni a capo" con
    , cosa che puoi fare con la funzione nl2br($stringa)

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Originariamente inviato da Alhazred
    Con questo ciclo si legge il contenuto di un file, 1024 byte alla volta.
    Il ciclo termina quando fgets($textfile,1024) vale false, ovvero quando il file è stato letto tutto.

    Grazie per la risposta prima di tutto...
    Quindi il programa legge 1024 caratteri dal file (solo sulla stessa riga? anche su più righe?) e se la variabile di rigo non è vuota, spezza e mostra a video il contenuto... giusto?
    E poi come fa a passare al rigo successivo? Nella mia logica dovrebbe leggere di continuo i primi 1024 caratteri...
    E' stesso la funzione f_gets che implica di leggere i successivi 1024 caratteri?

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Qui puoi trovare risposta a tutte le tue domande riguardo a fgets
    http://php.net/manual/en/function.fgets.php

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.