La función stream_get_meta_data() es una función incorporada en PHP que se usa para obtener el encabezado o los metadatos de los punteros de secuencias/archivos.
Sintaxis:
array stream_get_meta_data( $stream )
Parámetros: la función acepta un solo parámetro $stream , que especifica los metadatos que se recuperarán y que se crea mediante cualquier función fopen(), fsockopen() y pfsockopen().
Valor devuelto: esta función devuelve una array que contiene los siguientes elementos:
- timed_out: es un elemento de tipo booleano y VERDADERO si se agotó el tiempo de espera de la transmisión.
- bloqueado: es un elemento de tipo booleano y es verdadero si la transmisión está en modo de E/S de bloqueo.
- eof(bool) Es opcional. Es verdadero si la transmisión llegó al final del archivo.
- unread_bytes: número de bytes en el búfer interno.
- stream_type: Se utiliza para especificar la implementación del flujo.
- wrapper_type: se utiliza para especificar la capa de implementación del contenedor del protocolo.
- wrapper_data: es un dato específico adjunto a esta secuencia.
- modo: Es el tipo de acceso requerido para este flujo.
- seekable: Es verdadero cuando la secuencia actual busca.
- uri: identificador de recurso uniforme proporcionado por el usuario.
Los siguientes programas ilustran la función stream_get_meta_data() en PHP:
Programa 1:
PHP
<?php // PHP program to illustrate // stream_get_meta_data function $url = 'http://php.net/manual/en/function.stream-get-meta-data.php'; $file = fopen($url, 'r'); $meta_data = stream_get_meta_data($file); print_r($meta_data); fclose($file); ?>
Producción:
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 )
Programa 2: Programa para imprimir la longitud de la array devuelta por la función.
php
<?php // PHP program to illustrate // stream_get_meta_data function // url to be open using fopen $url = 'http://www.php.net/news.rss'; // 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); ?>
Producción:
10
Referencia: http://php.net/manual/en/function.stream-get-meta-data.php