Introduction

Les flux ("streams" en anglais) ont �t� introduits en PHP 4.3.0 comme 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 � des positions arbitraires 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 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, en utilisant l'API C de Working with streams. 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 (cha�ne de caract�res) - Le nom du gestionnaire a utiliser. Par exemple, file, http, https, ftp, ftps, compress.zlib, compress.bz. et php.. Voir Liste des protocoles 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 support�s pour une description des cibles des flux int�gr�s.

Note: Des informations sur l'utilisation des flux dans le code source de PHP peuvent �tre trouv�es dans l'API des flux pour les auteurs d'extensions PHP.