fread
Da un file aperto in modalità "r" (read), è possibile leggere dei dati. La funzione fread permette di leggere da un file di testo un numero di byte specificato.
Per esempio:
<?php
$var=fopen("esempio.txt","r");
$dest=fread($var,20);
?>
legge 20 byte (cioè 20 caratteri) dal file di nome "esempio.txt" e li salva nella variabile di nome $dest.
Poichè di solito non si conosce a priori quanti byte si vogliono leggere dal file, la fread è raramente usata in questo modo. Più frequentemente si usa la fread per leggere l'intero contenuto di un file di testo e salvarlo dentro un'unica stringa:
<?php
$var=fopen("esempio.txt","r");
$dest=fread($var,filesize("esempio.txt"));
?>
filesize è un'altra funzione PHP che restituisce la dimensione in byte di un file. In pratica con le istruzioni dell'esempio precedente, l'intero contenuto del file di testo "esempio.txt" viene copiato nella variabile $dest.
Nell'esempio seguente il file "testo.txt" viene per prima cosa salvato nella stringa di nome $leggi. Quindi, usando la funzione nl2br, nella stringa $leggi tutte le andate a capo vengono sostituite col tag <br>. Infine la stringa $sss, con le sostituzioni effettuate, viene visualizzata dalla istruzione echo.
<?php
$var=fopen("testo.txt","r");
$leggi=fread($var,filesize("testo.txt"));
fclose($var);
$sss=nl2br($leggi);
echo $sss;
?>
Vi sono casi nei quali non si desidera leggere l'intero contenuto di un file di testo con un'unica istruzione. In questi casi è più utile la funzione fgets che permette di leggere una riga alla volta dal file (ogni esecuzione di fgets preleva una riga dal file di testo, fino alla successiva andata a capo).
Poichè il numero di righe contenute in un file di testo aperto in lettura non è generalmente noto a priori, di solito la fgets viene usata in un ciclo terminato con la funzione feof (found end of file = trovata la fine del file). L'esempio seguente dovrebbe chiarire:
<?php
$var=fopen("testo.txt","r");
while (!feof($var))
{
$riga = fgets($var);
echo $riga."<br>";
}
fclose($var);
?>
Il ciclo prosegue fintantochè viene trovata la fine del file (l'operatore ! indica la negazione logica NOT). Ad ogni ripetizione del ciclo viene letta una singola riga dal file ($riga = fgets($var)) e quindi la riga letta viene visualizzata con l'aggiunta di un <br> (echo $riga."<br>").
Sito realizzato in base al
template offerto da
http://www.graphixmania.it