fread

(PHP 3, PHP 4 , PHP 5)

fread -- Lectura de archivos segura con material binario

Descripción

string fread ( resource gestor, int longitud)

fread() lee hasta longitud bytes desde el apuntador de archivo indicado por gestor. La lectura se detiene cuando se han leído longitud bytes, se alcanza EOF (el final de archivo), o (en el caso de secuencias de red) cuando un paquete se encuentra disponible, aquello que ocurra primero.

<?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);
?>

Aviso

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);
?>

Aviso

Cuando se lee desde secuencias de red o pipes, como es el caso cuando se leen 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 el ejemplo a continuación.

<?php
$gestor
= fopen("http://www.example.com/", "rb");
$contenido = '';
while (!
feof($gestor)) {
  
$contenido .= fread($gestor, 8192);
}
fclose($gestor);
?>

Nota: 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.

Vea también fwrite(), fopen(), fsockopen(), popen(), fgets(), fgetss(), fscanf(), file(), y fpassthru().