stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5)

stream_get_meta_dataLit les en-têtes et données méta des flux

Description

array stream_get_meta_data ( resource $stream )

Retourne les informations disponibles sur le flux stream.

Liste de paramètres

stream

Le flux peut être n'importe quel flux créé par les fonctions fopen(), fsockopen() ou pfsockopen().

Valeurs de retour

Le tableau résultant peut contenir les éléments suivants :

  • timed_out (booléen) : TRUE si le flux a atteint de délai d'expiration en attendant des données durant le dernier appel aux fonctions fread() et fgets().

  • blocked (booléen) : TRUE si le flux est en mode bloquant. Voir aussi stream_set_blocking().

  • eof (booléen) : TRUE si le flux a atteint la fin du fichier. Notez que pour les sockets, cette valeur peut être TRUE même si unread_bytes est non nul. Pour déterminer s'il reste des données à lire, utilisez plutôt la fonction feof().

  • unread_bytes (entier) : le nombre d'octets actuellement placés dans le buffer interne à PHP.

    Note: Vous ne devriez pas utiliser cette valeur dans un script.

Historique

Version Description
5.0.0 Les élément suivants ont été ajoutés dans le tableau retourné : mode, seekable, et uri.
4.3.0 Les éléments suivants ont été ajoutés dans le tableau retourné : stream_type, wrapper_type, wrapper_data et filters.
4.3.0 socket_get_status() est un alias de cette fonction. Avant PHP 4.3.0, elle était utilisée pour obtenir les quatre premiers éléments, uniquement pour les flux de sockets.

Exemples

Exemple #1 Exemple avec stream_get_meta_data()

<?php
$url = 'http://www.example.com/';

if (!$fp = fopen($url, 'r')) {
	trigger_error("Impossible d'ouvrir l'URL ($url)", E_USER_ERROR);
}

$meta = stream_get_meta_data($fp);

print_r($meta);

fclose($fp);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

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] => 
)

Notes

Note:

Cette fonction ne fonctionne pas sur les sockets créées avec l'extension socket.

Voir aussi

LoadingChargement en cours