Les flux sont une méthode de
généralisation des fichiers, sockets,
connexions rĂ©seau, donnĂ©es compressĂ©es et autres opĂ©rations du mĂȘme type,
qui partagent des opérations communes. Dans sa définition la plus simple,
un stream est une resource qui
présente des capacités de flux : c'est-à -dire que ces objets peuvent
ĂȘtre lus ou recevoir des Ă©critures de maniĂšre linĂ©aire, et disposent aussi de moyens
d'accéder à une position arbitraire dans le flux.
Un wrapper est une fonction qui indique comment le flux se comporte spécifiquement. C'est le cas du gestionnaire
http, qui sait comment traduire une URL en une
requĂȘte HTTP/1.0 sur un serveur distant.
Il existe de nombreux gestionnaires intégrés à PHP
par défaut (voir Liste des protocoles et des gestionnaires supportés),
et, de plus, des gestionnaires spĂ©cifiques peuvent ĂȘtre ajoutĂ©s dans
les scripts PHP avec la fonction stream_wrapper_register(),
ou bien directement par une autre extension.
GrĂące Ă la souplesse des gestionnaires qui peuvent ĂȘtre ajoutĂ©s Ă PHP,
il n'y a pas de limites aux possibilités offertes. Pour connaßtre la liste
des gestionnaires actuellement enregistrés, utiliser la fonction
stream_get_wrappers().
Un flux est référencé comme :
scheme://target
scheme (string) -
Le nom du gestionnaire Ă utiliser. Par exemple, file,
http, https, ftp, ftps, compress.zlib, compress.bz2 et php.
Voir Liste des protocoles et des gestionnaires supportés
pour une liste complÚte des gestionnaires enregistrés de PHP.
Si aucun gestionnaire n'est spécifié, la fonction par défaut est utilisée (typiquement,
file://).
target -
Dépend du gestionnaire utilisé. Pour les flux relatifs aux systÚmes
de fichiers, c'est typiquement un chemin et un nom de fichier du
fichier désiré. Pour les flux relatifs aux réseaux, c'est
typiquement le nom d'hÎte, souvent avec un chemin apposé.
Voir aussi Liste des protocoles et des gestionnaires supportés
pour une description des cibles des flux intégrés.