Introduction
Les
flôts
(
"streams
"
en
anglais
)
on
é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
flôt
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
(
dit
wrapper
en
anglais
)
,
est
une
fonction
qui
indique
comment
le
flôt
se
comporte
spécifiquement
.
C
'
est
le
cas
du
gestionnaire
http
,
qui
sait
comment
traduire
une
URL
en
une
requête
sur
un
serveur
distant
.
Il
existe
de
nombreux
gestionnaires
intégré
à
PHP
par
défaut
(
voir
Annexe
I
)
,
et
de
plus
,
des
gestionnaires
spécifiques
peuvent
être
ajouté
dans
les
scripts
PHP
avec
la
fonction
stream_register_wrapper(
)
,
ou
bien
directement
par
une
autre
extension
,
en
utilisant
l
'API
C
de
Chapitre
43
.
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
filtre
est
une
fonction
finale
qui
effectue
des
opérations
sur
les
données
qui
sont
lues
ou
écrites
dans
un
flôt
.
Un
nombre
arbitraire
de
filtre
peuvent
être
ajoutés
sur
un
flôt
.
Des
filtres
personnalisés
peuvent
aussi
être
ajoutés
avec
la
fonction
stream_register_filter(
)
,
ou
bien
dans
une
extension
avec
l
'API
C
de
Chapitre
43
.
Pour
connaître
la
liste
des
gestionnaires
actuellement
enregistrés
,
utilisez
la
fonction
stream_get_filters(
)
.
Un
flôt
est
identifié
dans
la
forme
protocole
:
/
/
serveur
-
protocole
(
chaîne
de
caractéres
)
-
Le
nom
du
protocole
utilisé
.
Par
exemple
:
file
,
http
,
https
,
ftp
,
ftps
,
compress.zlib
,
compress.bz2
,
ssl
,
tls
et
php
.
Voyez
Annexe
I
pour
une
liste
de
gestionnaires
intégrés
à
PHP
.
Si
aucun
gestionnaire
n'
est
spécifié
,
la
fonction
utilise
par
défaut
file
:
/
/
)
.
-
serveur
-
Dépend
du
gestionnaire
utilisé
.
Pour
les
flôts
liés
au
système
de
fichier
,
c
'
est
généralement
un
chemin
et
un
nom
de
fichier
.
Pour
les
objets
réseau
,
c
'
est
généralement
un
nom
de
serveur
,
et
un
chemin
.
Encore
une
fois
,
reportez
vous
à
Annexe
I
pour
une
description
des
différents
serveurs
de
gestionnaire
.
Stream Classes
Des
gestionnaires
personnalisés
peuvent
être
enregistrés
via
la
fonction
stream_register_wrapper(
)
,
en
utilisant
la
définition
de
classe
décrite
dans
ce
manuel
.
La
classe
php_user_filter
est
prédéfinie
et
est
une
classe
abstraite
à
utiliser
avec
les
filtres
personnalisés
.
Voyez
le
manuel
de
la
fonction
stream_register_filter(
)
pour
plus
de
détails
sur
les
implémentation
de
filtres
utilisateurs
.
Erreurs de flôts
Comme
avec
n'
importe
quel
fichier
ou
socket
,
les
opérations
sur
un
flôt
peuvent
échouer
pour
une
grande
variété
de
raisons
(par
exemple
:
impossible
de
se
connecter
au
serveur
distant
,
fichier
introuvable
,
etc..
.
)
.
Un
flôt
peut
aussi
échouer
parceque
le
gestionnaire
n
'
est
pas
configuré
sur
le
système
en
cours
.
Voyez
le
tableau
retourné
par
la
fonction
stream_get_wrappers(
)
pour
connaître
la
liste
des
gestionnaires
configurés
sur
votre
installation
de
PHP
.
Comme
avec
la
plus
part
des
fonctions
internes
de
PHP
,
si
une
erreur
survient
,
un
message
de
type
E_WARNING
sera
généré
pour
indiquer
la
nature
de
l
'
erreur
.