PHP Stream 常用函数

1.stream_get_contents — 读取资源流到一个字符串

stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = -1 ]] ) : string

与 file_get_contents() 一样,但是 stream_get_contents() 是对一个已经打开的资源流进行操作,并将其内容写入一个字符串返回。 返回的内容取决于 maxlength 字节长度和 offset 指定的起始位置。

参数

handle (resource):一个资源流(例如 fopen() 操作之后返回的结果)

maxlength (integer):需要读取的最大的字节数。默认是-1(读取全部的缓冲数据)。

offset (integer):在读取数据之前先查找指定的偏移量。如果这个数字是负数,就不进行查找,直接从当前位置开始读取。

返回值

返回一个字符串 或者在失败时返回 FALSE.

2.stream_socket_client — 打开Internet或Unix域套接字连接

stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] ) : resource

连接到所指定目标的流或数据报连接remote_socket。创建的套接字的类型取决于使用标准URL格式指定的传输方式:transport:// target。对于TCP和UDP等Internet域套接字(AF_INET),参数的目标部分remote_socket应由主机名或IP地址,后跟冒号和端口号组成。对于Unix域套接字,该target部分应指向文件系统上的套接字文件。

Note:

默认情况下,该流将以阻塞模式打开。您可以使用stream_set_blocking()将其切换为非阻塞模式。

参数

remote_socket:要连接的套接字地址。

errno:如果连接失败,将被设置为系统级错误号。

errstr:如果连接失败,将被设置为系统级错误消息。

timeout:直到connect()系统调用应超时的秒数。

返回值

成功时,将返回流资源,该资源可在失败时与其他文件功能(例如fgets()fgetss()fwrite()fclose()feof())一起FALSE使用。

失败时,errnoand errstr参数将填充在系统级connect()调用中发生的实际系统级错误。如果返回的errno值为0且函数返回FALSE,则表明在connect()调用之前发生了错误。这很可能是由于初始化套接字时出现问题。请注意,errnoerrstr参数将始终通过引用传递。

3.stream_set_timeout — 设置流的超时时间

bool stream_set_timeout ( resource $stream , int $seconds [, int $microseconds = 0 ] )

设置的超时值stream,在之和来表示secondsmicroseconds

当流超时时,stream_get_meta_data()返回的数组的'timed_out'键设置为TRUE,尽管不会产生错误/警告。

参数

stream:目标流。

seconds:要设置的超时秒数部分。

microseconds:要设置的超时的微秒部分。

返回值

TRUE成功或FALSE失败时返回。

 

4.stream_get_meta_data — 从流/文件指针中检索标头/元数据

array stream_get_meta_data ( resource $stream )

返回有关现有的信息stream

参数

stream

该流可以是由fopen()fsockopen()pfsockopen()创建的任何流。

返回值

结果数组包含以下各项:

  • timed_out(bool)- TRUE如果流在等待上一次对fread()fgets()的调用中的数据时超时。

  • blocked (bool) TRUE如果流处于阻塞IO模式。参见stream_set_blocking()

  • eof(bool)- TRUE如果流已到达文件末尾。请注意,对于套接字流,TRUE即使unread_bytes不为零,该成员也可以是。要确定是否还有更多数据要读取,请使用feof()而不是读取此项。

  • unread_bytes(int)-PHP自身内部缓冲区中当前包含的字节数。

猜你喜欢

转载自blog.csdn.net/lyn1772671980/article/details/108801611
今日推荐