Forum und email

fread

(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 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.

Lista de parámetros

gestor

A file system pointer resource that is typically created using fopen().

longitud

Se leen hasta longitud número de bytes.

Valores retornados

Devuelve la cadena leída o FALSE en caso de error.

Ejemplos

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($gestorfilesize($nombre_archivo));
fclose($gestor);
?>

Example#2 Ejemplo binario de fread()

Warning

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($gestorfilesize($nombre_archivo));
fclose($gestor);
?>

Example#3 Ejemplos remotos de fread()

Warning

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("https://www.example.com/""rb");
$contenidos stream_get_contents($gestor);
fclose($gestor);
?>
<?php
$gestor 
fopen("https://www.example.com/""rb");
$contenido '';
while (!
feof($gestor)) {
  
$contenido .= fread($gestor8192);
}
fclose($gestor);
?>

Notes

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.