(PHP 4, PHP 5)
fread — Lectura de archivos segura con material binario
fread() lee hasta longitud bytes desde el apuntador de archivo indicado por gestor . La lectura se detiene cuando se han leído hasta longitud bytes, se alcanza EOF (el final de archivo), (en el caso de secuencias de red) cuando un paquete se encuentra disponible, o (después de abrir una secuencia de espacio de usuario) cuando se han leído 8192 bytes, aquello que ocurra primero.
Devuelve la cadena leída o FALSE en caso de error.
Example#1 Un ejemplo sencillo de fread()
<?php
// obtiene el contenido de un 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 binario de fread()
En sistemas que diferencian entre archivos binarios y de texto (es decir, Windows) el archivo debe ser abierto con el valor 'b' incluido en el parámetro de modo de fopen().
<?php
$nombre_archivo = "c:\\archivos\\una_imagen.gif";
$gestor = fopen($nombre_archivo, "rb");
$contenido = fread($gestor, filesize($nombre_archivo));
fclose($gestor);
?>
Example#3 Ejemplos remotos de fread()
Cuando se lee desde cualquier cosa que no sea un archivo local normal, como es el caso de secuencias devueltas al leer archivos remotos o desde popen() y fsockopen(), la lectura se detendrá después de que un paquete esté disponible. Esto quiere decir que debe recolectar los datos en segmentos, como se muestra en los ejemplos a continuación.
<?php
// Para PHP 5 y superiores
$gestor = fopen("http://www.example.com/", "rb");
$contenidos = 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 tan solo desea obtener el contenido de un archivo en una cadena, use file_get_contents(), ya que tiene un rendimiento mucho mayor que el código anterior.