PHP 8.4.0 RC4 available for testing

stream_get_line

(PHP 5, PHP 7, PHP 8)

stream_get_lineObtiene una línea del recurso de flujo hasta un delimitador dado

Descripción

stream_get_line(resource $handle, int $length, string $ending = ?): string

Obtiene una linea desde el gestor dado.

La lectura finaliza cuando hayan sido leídos length bytes, cuando se encuentre la cadena especificada por ending (la cuál no está incluida en el valor devuelto), o sobre EOF (lo que suceda primero).

Esta función es casi indéntica a fgets() excepto que permite delimitadores de fin de línea distintos a los habituales \n, \r, y \r\n, y no devuelve el delimitador mismo.

Parámetros

handle

Un gestor de archivo válido.

length

El número de bytes a leer desde el gestor.

ending

Un delimitador de cadena opcional.

Valores devueltos

Devuelve una cadena de hasta length bytes leídos desde el archivo apuntado por handle.

Si ocurre un error, devuelve false.

Ver también

  • fread() - Lectura de un fichero en modo binario seguro
  • fgets() - Obtiene una línea desde el puntero a un fichero
  • fgetc() - Obtiene un carácter de un puntero a un archivo
add a note

User Contributed Notes 1 note

up
12
pk at ritm dot ru
14 years ago
fgets is faster but stream_get_line is more useful in a tcp server scripts.

when fgets reads some bytes from socket, where EOF is reached, it returns bool(false) same as stream_get_line

BUT if remote client drops connection, and server script will try to read some data with function fgets, function will return bool(false), and stream_get_line will return string(0) ""

so you can detect remote client disconnection with stream_get_line, and cannot with fgets
To Top