Description
void
ob_start
( [string output_callback])
ob_start(
)
démarre
la
bufferisation
de
sortie
.
Tant
qu'
elle
est
enclenchée
,
aucune
donnée
,
hormis
les
en-têtes
,
n
'est
envoyée
au
navigateur
,
mais
temporairement
mise
en
buffer
.
Le
contenu
de
ce
buffer
peut
être
copié
dans
une
chaîne
avec
la
fonction
ob_get_contents(
)
.
Pour
afficher
le
contenu
de
ce
buffer
,
utilisez
ob_end_flush(
)
.
Au
contraire
,
ob_end_clean(
)
effacera
le
contenu
de
ce
buffer
.
Une
fonction
optionnelle
de
callback
peut
être
spécifiée
en
troisième
argument
.
ob_start(
)
prend
une
chaîne
comme
paramètre
,
et
retourne
une
chaîne
.
Elle
sera
appelée
par
ob_end_flush(
)
ou
lorsque
le
buffer
sera
envoyé
au
navigateur
à
la
fin
du
script
et
recevra
le
contenu
du
buffer
de
sortie
.
Lorsque
la
fonction
output_callback
est
appelée
,
elle
doit
retourner
un
nouveau
contenu
pour
le
buffer
de
sortie
:
celui-ci
sera
envoyé
au
navigateur
.
En
PHP
4.0.4
,
ob_gzhandler(
)
a
été
introduit
pour
faciliter
l'envoi
de
fichier
compressé
avec
gz
aux
navigateurs
web
qui
supportent
les
pages
compressées
.
ob_gzhandler(
)
détermine
le
type
d
'encodage
accepté
par
un
navigateur
,
et
retourne
le
contenu
le
plus
adéquat
.
Les
buffers
de
sortie
sont
gérés
par
pile
,
c'
est-à-dire
que
vous
pouvez
appeler
plusieurs
fois
ob_start(
)
simultanément
.
Assurez-vous
que
vous
appelez
ob_end_flush(
)
suffisamment
souvent
.
Si
plusieurs
fonctions
de
callback
sont
actives
,
les
contenus
seront
filtrés
séquentiellement
,
dans
l'
ordre
d
'emboîtement
.
Exemple
1
.
Exemple
de
callback
avec
fonction
utilisateur
?php
function
callback(
$buffer
)
{
/
/
remplace
toutes
les
pommes
par
des
oranges
return
(ereg_replace("pommes
de
terre"
,
"carottes"
,
$buffer))
;
}
ob_start("callback")
;
?
html
body
p
C'est
comme
comparer
des
carottes
et
des
pommes
de
terre
.
/
body
/
html
?php
ob_end_flush()
;
?
|
|
va
afficher
:
Voir
aussi
ob_get_contents(
)
,
ob_end_flush(
)
,
ob_end_clean(
)
,
ob_implicit_flush(
)
et
ob_gzhandler(
)
.