PHP | stream_get_meta_data() Function

The stream_get_meta_data() function is an inbuilt function in PHP which is used to get the header or meta data from the streams/file pointers.

Syntax:

array stream_get_meta_data( $stream )

Parameters: The function accepts single parameter $stream, which specifies the meta data to be retrieve and which is created by any function fopen(), fsockopen() and pfsockopen().

Return Value: This function returns an array which contains the following items:

  • timed_out: It is a boolean type items and TRUE if the stream timed out.
  • blocked: It is a boolean type items and it is True if the stream is in blocking IO mode.
  • eof(bool) It is optional. It is True if the stream reached at end-of-file.
  • unread_bytes: Number of bytes in internal buffer.
  • stream_type: It is used to specify the implementation of the stream.
  • wrapper_type: It is used to specify the protocol wrapper implementation layer.
  • wrapper_data: It is a specific data attached to this stream.
  • mode: It is the type of access required for this stream.
  • seekable: It is true when the current stream seeked.
  • uri: User Provided Unform resource identifier.

Below programs illustrate the stream_get_meta_data() function in PHP:



Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// PHP program to illustrate
// stream_get_meta_data fuction
  
  
$file = fopen($url, 'r');
$meta_data = stream_get_meta_data($file);
  
print_r($meta_data);
  
fclose($file);
  
?>

chevron_right


Output:

Array
(
    [timed_out] => 
    [blocked] => 1
    [eof] => 
    [wrapper_data] => Array
        (
            [0] => HTTP/1.1 200 OK
            [1] => Server: nginx/1.10.3
            [2] => Date: Mon, 17 Dec 2018 11:04:39 GMT
            [3] => Content-Type: text/html; charset=utf-8
            [4] => Connection: close
            [5] => Content-language: en
            [6] => X-Frame-Options: SAMEORIGIN
            [7] => Set-Cookie: LAST_LANG=en; expires=Tue, 17-Dec-2019 11:04:39 GMT; Max-Age=31536000; path=/; domain=.php.net
            [8] => Set-Cookie: COUNTRY=NA%2C54.201.119.186; expires=Mon, 24-Dec-2018 11:04:39 GMT; Max-Age=604800; path=/; domain=.php.net
            [9] => Link: ; rel=shorturl
            [10] => Last-Modified: Mon, 17 Dec 2018 05:06:18 GMT
            [11] => Vary: Accept-Encoding
        )

    [wrapper_type] => http
    [stream_type] => tcp_socket/ssl
    [mode] => r
    [unread_bytes] => 7647
    [seekable] => 
    [uri] => http://php.net/manual/en/function.stream-get-meta-data.php
)

Program 2: Program to print the length of array return by the function.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// PHP program to illustrate 
// stream_get_meta_data function
  
// url to be open using fopen
  
// checking is url openable or not
if (!$fp = fopen($url, 'r')) {
    trigger_error("Unable to open URL ($url)", E_USER_ERROR);
}
  
$fp = fopen($url, 'r');
  
$meta_data = stream_get_meta_data($fp);
  
print(sizeof($meta_data));
  
fclose($fp);
?>

chevron_right


Output:

10

Reference: http://php.net/manual/en/function.stream-get-meta-data.php



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.