在线文档教程
PHP
流 | Streams

stream_get_meta_data

stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_get_meta_data - 从流/文件指针中检索头/元数据

描述

array stream_get_meta_data ( resource $stream )

返回有关现有的信息stream

参数

stream

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

返回值

结果数组包含以下项目:

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

  • 阻塞(布尔) - TRUE如果流处于阻塞IO模式。请参阅stream_set_blocking()。

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

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

注意:您不应该在脚本中使用此值。

  • stream_type(string) - 描述流的底层实现的标签。

  • wrapper_type(字符串) - 描述在流上分层的协议包装器实现的标签。有关包装器的更多信息,请参阅支持的协议和包装器。

  • wrapper_data(混合) - 附加到此流的封装器特定数据。有关包装器及其包装器数据的更多信息,请参阅支持的协议和包装器。

  • 模式(字符串) - 此流所需的访问类型(请参阅fopen()参考的表1)

  • 可搜索(bool) - 是否可以查找当前流。

  • uri(字符串) - 与此流关联的URI/文件名。

示例

示例#1 stream_get_meta_data

<?php $url = 'http://www.example.com/'; if (!$fp = fopen($url, 'r')) {     trigger_error("Unable to open URL ($url)", E_USER_ERROR } $meta = stream_get_meta_data($fp print_r($meta fclose($fp ?>

上面的例子会输出类似于:

Array ( [wrapper_data] => Array ( [0] => HTTP/1.1 200 OK [1] => Server: Apache/2.2.3 (Red Hat) [2] => Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT [3] => ETag: "b300b4-1b6-4059a80bfd280" [4] => Accept-Ranges: bytes [5] => Content-Type: text/html; charset=UTF-8 [6] => Set-Cookie: FOO=BAR; expires=Fri, 21-Dec-2012 12:00:00 GMT; path=/; domain=.example.com [6] => Connection: close [7] => Date: Fri, 16 Oct 2009 12:00:00 GMT [8] => Age: 1164 [9] => Content-Length: 438 ) [wrapper_type] => http [stream_type] => tcp_socket/ssl [mode] => r [unread_bytes] => 438 [seekable] => [uri] => http://www.example.com/ [timed_out] => [blocked] => 1 [eof] => )

注意

注意:此函数不适用于由套接字扩展创建的套接字。

另请参阅

  • get_headers() - 获取服务器为响应HTTP请求而发送的所有标头

  • $http_response_header

← stream_get_line

stream_get_transports →