La
fonction
include(
)
inclus
et
évalue
le
fichier
spécifié
en
argument
.
Il
est
important
de
noter
que
lorsqu'
un
fichier
est
include(
)
ou
require(
)
,
les
erreurs
d'analyse
apparaîtront
en
HTML
tout
au
début
du
fichier
,
et
l
'analyse
du
fichier
parent
ne
sera
pas
interrompue
.
Pour
cette
raison
,
le
code
qui
est
dans
le
fichier
doit
être
placé
entre
les
balises
habituelles
de
PHP
.
Cela
se
produit
à
chaque
fois
que
la
fonction
include(
)
Cela
se
produit
à
chaque
fois
que
la
fonction
include(
)
est
rencontrée
.
Donc
,
vous
pouvez
utiliser
la
fonction
include(
)
dans
une
boucle
pour
inclure
un
nombre
infini
de
fois
un
fichier
,
ou
même
des
fichiers
différents
.
include(
)
diffère
de
require(
)
car
le
fichier
inclus
est
ré-évaluée
à
chaque
fois
que
la
commande
est
exécutée
,
tandis
que
require(
)
est
remplacée
par
le
fichier
cible
lors
de
la
première
exécution
,
que
son
contenu
soit
utilisé
ou
non
.
De
plus
,
cela
se
fait
même
s'
il
est
placé
dans
une
structure
conditionnelle
,
comme
dans
un
if
)
.
Parceque
la
fonction
include(
)
nécessite
une
construction
particulière
,
vous
devez
l
'inclure
dans
un
bloc
si
elle
est
incluse
dans
une
structure
conditionnelle
.
En
PHP
3
,
il
est
possible
d
'
exécuter
une
commande
return
depuis
un
fichier
inclus
,
tant
que
cette
commande
intervient
au
niveau
global
du
fichier
inclus
.
Elle
ne
doit
intervenir
dans
aucun
bloc
(
entre
accolade
{}
)
.
En
PHP
4
,
cette
possibilité
a
été
supprimée
.
Cependant
,
PHP
4
vous
autorise
à
retourner
des
valeurs
d
'
un
fichier
inclus
.
Vous
pouvez
traiter
include(
)
Vous
pouvez
traiter
include(
)
comme
une
fonction
normale
,
qui
retourne
une
valeur
.
Mais
cela
génère
une
erreur
d
'
analyse
en
PHP
3
.
Exemple
12-1
.
include(
)
en
PHP
3
et
PHP
4
On
suppose
que
le
fichier
test.inc
existe
,
et
est
placé
dans
le
même
dossier
que
le
fichier
principal
:
?php
echo
"
Avant
le
retour
br
\n"
;
if
(1
)
{
return
27
;
}
echo
"Apr
egrave;s
le
retour
br
\n"
;
?
|
On
suppose
que
le
fichier
main.html
contient
ceci
:
?php
$retval
=
include
(
'test.inc')
;
echo
"Fichier
inclus
:
'$retval
'
br
\n"
;
?
|
Lorsque
main.html
est
appelé
en
PHP
3
,
il
va
générer
une
erreur
d'
analyse
(parse
error
)
à
la
ligne
2
;
vous
ne
pouvez
pas
vous
attendre
à
un
retour
sur
une
fonction
include(
)
en
PHP
3
.
En
PHP
4
,
cependant,le
résultat
sera
:
Avant
le
retour
Ficher
inclus
:
'
27
'
|
Supposons
maintenant
que
main.html
a
été
modifié
et
contient
maintenant
le
code
suivant
:
?php
include
(
'test.inc')
;
echo
"Retour
dans
le
main.html
br
\n"
;
?
|
En
PHP
4
,
l
'
affichage
sera
:
Avant
le
retour
Retour
dans
le
main.html
|
Au contraire, PHP 3 affichera :
Avant
le
retour
27Retour
dans
le
main.html
Parse
error
:
parse
error
in
/
home
/
torben
/
public_html
/
phptest
/
main.html
on
line
5
|
L'
erreur
d'analyse
ci-dessus
est
le
résultat
du
fait
que
la
commande
return
est
dans
un
bloc
qui
n
'est
pas
une
fonction
,
dans
test.inc
.
Lorsque
le
return
est
sorti
du
bloc
,
l
'
affichage
devient
:
Avant
le
retour
27Retour
dans
le
main.html
|
Le
'
27
'
est
du
au
fait
que
PHP
3
ne
supporte
pas
le
return
dans
ces
fichiers
.
|
Il
est
important
de
noter
que
lorsqu'
un
fichier
est
include(
)
ou
require(
)
,
les
erreurs
d'analyse
apparaîtront
en
HTML
tout
au
début
du
fichier
,
et
l
'analyse
du
fichier
parent
ne
sera
pas
interrompue
.
Pour
cette
raison
,
le
code
qui
est
dans
le
fichier
doit
être
placé
entre
les
balises
habituelles
de
PHP
.
Ne
vous
laissez
pas
abuser
par
le
fait
que
vous
pouvez
requérir
ou
inclure
des
fichiers
via
HTTP
en
utilisant
la
fonctionnalité
de
gestion
des
fichiers
distants
ce
qui
est
au
dessus
reste
vrai
.
Voir
aussi
readfile(
)
,
require(
)
et
virtual(
)
.