fread
Legge un file salvaguardando la corrispondenza binaria
fread legge fino a length byte dal puntatore al file indicato da stream. La lettura finisce quando una delle seguenti condizioni è raggiunta: sono stati letti length byte è stata raggiunta EOF (end of file - fine del file) un pacchetto diventa disponibile o si verifica un socket timeout (nel caso di stream sulla rete) se lo stream è letto attraverso un buffer e non rappresenta un normale file, viene fatta almeno una lettura di un numero di byte uguale alla dimensione del chunk (di solito 8192); a seconda dei dati precedentemente messi nel buffer, la dimensione dei dati restituiti può essere maggiore della dimensione del chunk.
stream Fs file pointer length Fino a length numero di byte letti.
Restituisce la stringa letta Return falseforfailure.
Un semplice esempio di fread <?php // copia il contenuto di un file in una stringa $filename = "/usr/local/something.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle); ?>
Esempio di fread binario Sui sistemi che differenziano fra file di testo e binari (ad esempio Windows) il file deve essere aperto con il parametro mode di fopen impostato a 'b'. <?php $filename = "c:\\files\\somepic.gif"; $handle = fopen($filename, "rb"); $contents = fread($handle, filesize($filename)); fclose($handle); ?>
Esempi di fread remoti Quando si legge da qualsiasi cosa non sia un normale file locale, come gli stream restituiti leggendo da file remoti o da popen e fsockopen, la lettura si fermerà dopo che un pacchetto si è reso disponibile. Questo significa che si evono raccogliere i dati in blocchi come illustrato nell'esempio seguente. <?php $handle = fopen("http://www.example.com/", "rb"); $contents = stream_get_contents($handle); fclose($handle); ?> <?php $handle = fopen("http://www.example.com/", "rb"); if (FALSE === $handle) { exit("Failed to open stream to URL"); } $contents = ''; while (!feof($handle)) { $contents .=fread($handle, 8192); } fclose($handle); ?>
fwrite fopen fsockopen popen fgets fgetss fscanf file fpassthru fseek ftell rewind unpack