Les flux ("streams
" en anglais) 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 flux
est une ressource 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 dispose aussi
de moyen d'accéder à une position arbitraire dans le flux.
Un gestionnaire
(littéralement,
wrapper
en anglais), 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_register_wrapper(),
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, utilisez la fonction
stream_get_wrappers().
Un flux est référencé comme :
scheme
://target
scheme
(string) -
Le nom du gestionnaire a utiliser. Par exemple, file
,
http
, https
,
ftp
, ftps
, compress.zlib
,
compress.bz
. 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.