首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

stream_get_meta_data

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

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

描述

代码语言:javascript
复制
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

()示例

代码语言:javascript
复制
<?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);
?>

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

代码语言:javascript
复制
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 →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com