(PHP 4, PHP 5)
fread — Lectura de un archivo en modo binario seguro
fread() lee hasta length bytes desde el puntero al archivo referenciado por handle. La lectura termina tan pronto como se encuentre una de las siguientes condiciones:
Devuelve la cadena leída o FALSE en caso de error.
Example #1 Un ejemplo sencillo de fread()
<?php
// poner el contenido de una archivo en una cadena
$nombre_archivo = "/usr/local/algo.txt";
$gestor = fopen($nombre_archivo, "r");
$contenido = fread($gestor, filesize($nombre_archivo));
fclose($gestor);
?>
Example #2 Ejemplo de lectura binaria de fread()
En sistemas en los que se diferencia entre archivos binarios y de texto (esto es, Windows) el archivo debe ser abierto con 'b' incluida en el parámetro modo de fopen().
<?php
$filename = "c:\\files\\imagen.gif";
$gestor = fopen($filename, "rb");
$contenido = fread($gestor, filesize($filename));
fclose($gestor);
?>
Example #3 Ejemplos de lectura remota con fread()
Cuando se lee desde algo que no es un archivo local normal, como los flujos devueltos cuando se leen archivos remotos o desde popen() y fsockopen(), la lectura se detendrá después de que esté disponible un paquete. Esto significa que debería reuinir la información en trozos como se muestra en los ejemplos de abajo.
<?php
// Para PHP 5 y superior
$gestor = fopen("http://www.example.com/", "rb");
$contenido = stream_get_contents($gestor);
fclose($gestor);
?>
<?php
$gestor = fopen("http://www.example.com/", "rb");
$contenido = '';
while (!feof($gestor)) {
$contenido .= fread($gestor, 8192);
}
fclose($gestor);
?>
Note:
Si sólo quiere poner el contenido de un archivo en una cadena, use file_get_contents() ya que tiene mucho mejor rendimiento que el código de arriba.
Note:
Observe que fread() lee desde la poscion actual del puntero al archivo. Use ftell() para encontrar la posición actual del puntero y rewind() para rebobinar la posición del puntero.