stream_get_meta_data

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

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

Description

stream_get_meta_data ( resource $stream ) : array

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.

  • stream_type (chaîne de caractères) : un nom, qui décrit l'implémentation sous-jacente de flux.

  • wrapper_type (chaîne de caractères) : un nom qui décrit le gestionnaire de protocole pour ce flux. Voyez Liste des protocoles et des gestionnaires supportés pour plus d'informations sur les gestionnaires.

  • wrapper_data (mixed) : des données spécifiques au gestionnaire liés à ce flux. Voyez Liste des protocoles et des gestionnaires supportés pour plus d'informations sur les gestionnaires et leurs données.

  • mode (chaîne de caractères) : le type d'accès requis pour ce flux ( voir le tableau 1 de la référence de la fonction fopen())

  • seekable (booléen) : si on peut rechercher dans le flux courant.

  • uri (chaîne de caractères) : l'URI/nom de fichier associé à ce flux.

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