Home >Backend Development >PHP Tutorial >php stream_get_meta_data return value

php stream_get_meta_data return value

PHPz
PHPzOriginal
2016-05-16 09:00:042540browse

php stream_get_meta_data return value_php basics

the test code is as follows:

the code is as follows:

<?php
$fp=fopen("http://www.sina.com.cn", 'r');
$stream_meta = stream_get_meta_data($fp);
print_r($stream_meta);
?>

the output on my local machine is as follows:

array
(
     [wrapper_data] => array
         (
             [0] => http/1.0 200 ok
             [1] => date: tue, 06 dec 2011 10:08:11 gmt
             [2] => server: apache
             [3] => last-modified: tue, 06 dec 2011 10:07:12 gmt
             [4] => accept-ranges: bytes
             [5] => x-powered-by: mod_xlayout/rc2
             [6] => cache-control: max-age=60
             [7] => expires: tue, 06 dec 2011 10:09:11 gmt
             [8] => vary: accept-encoding
             [9] => x-ua-compatible: ie=emulateie7
             [10] => content-type: text/html
             [11] => age: 26
             [12] => content-length: 675274
             [13] => x-cache: hit from xd33-98.hp08040037.sina.com.cn
             [14] => connection: close
         )
     [wrapper_type] => http
     [stream_type] => tcp_socket/ssl
     [mode] => r
     [unread_bytes] => 3759
     [seekable] =>  
     [uri] => http://www.sina.com.cn
     [timed_out] =>  
     [blocked] => 1
     [eof] =>  
)

description

array stream_get_meta_data (int $fp)
returns the information of the existing stream. can be any stream established via fopen(), fsockopen() and pfsockopen(). the returned array contains the following items:

timed_out (bool) - true if the stream timed out while waiting for data in the last call to fread() or fgets().

blocked (bool) - true if the stream is in blocking io mode. see stream_set_blocking().

eof (bool) - true if the stream reaches the end of the file. note that for socket streams it can be true even when unread_bytes is non-zero. to determine whether more data is available to read, use feof() instead to read the value of this item.

unread_bytes (int) - the number of bytes currently in php's own internal buffer.

note: do not use this value in scripts.

the following items are newly added in php 4.3:

stream_type (string) - 一个描述流底层实现的标注。 
wrapper_type (string) - 一个描述流的分层协议封装实现的标注。更多关于封装协议的信息见 支持的协议和封装协议。 
wrapper_data (mixed) - 当前流附加的封装协议数据。更多封装协议及其数据的信息见 支持的协议和封装协议。 
filters (array) - 包含有被叠加在当前流的任何过滤器名的数组。过滤器的文档见附录中的可用过滤器列表。

note:

this function was introduced in php 4.3. before this version, socket_get_status() could be used to obtain the first four items and could only be used for socket-based streams.

in php 4.3 and later versions, socket_get_status() is an alias of this function.

note: this function cannot be used on streams created through the socket extension library.

the following items are newly added in php 5.0:

mode (string) - 对当前流所要求的访问类型(见 fopen() 中的表格 1)。 
seekable (bool) - 是否可以在当前流中定位。 
uri (string) - 与当前流关联的 URI 或文件名。

the above is the basic content of php stream_get_meta_data return value_php. for more related content, please pay attention to php chinese website (www.php.cn)!

【recommended tutorials】

1. a full set of video tutorials on php programming from entry to master
2. php online manual
3. bootstrap tutorial

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn