Aussi
longtemps
que
le
support
de
la
fonction
d'
ouverture
générique
de
fichiers
("URL
fopen
wrapper"
)
est
actif
lorsque
vous
configurez
PHP
(il
est
inutile
de
passer
explicitement
l'option
--disable-url-fopen-wrapper
pour
faire
la
configuration)
,
vous
pouvez
utiliser
des
URLs
(HTTP
et
FTP
)
avec
la
majorité
des
fonctions
qui
utilisent
un
nom
de
fichier
comme
paramètre
,
ceci
incluant
les
expressions
require(
)
et
include(
)
.
Vous
ne
pouvez
pas
utiliser
les
fichiers
distants
dans
les
expressions
include(
)
et
require(
)
sous
Windows
.
Par
exemple
,
vous
pouvez
suivre
l'
exemple
suivant
pour
ouvrir
un
fichier
sur
un
serveur
web
distant
,
analyser
les
résultats
pour
extraire
les
informations
dont
vous
avez
besoin
,
et
ensuite
l
'utiliser
dans
une
requête
de
base
de
données
,
ou
simplement
éditer
les
informations
dans
le
style
de
votre
site
.
Exemple
19-1
.
Connaître
le
titre
d
'
une
page
distante
?php
$file
=
fopen(
"http
:
/
/www.php.net
/
"
,
"r")
;
if
(!$file
)
{
echo
"
p
Impossible
d'ouvrir
le
fichier
distant.\n"
;
exit
;
}
while
(!feof($file)
)
{
$line
=
fgets($file
,
1024)
;
/
*
Cela
ne
fonctionne
que
si
le
titre
est
écrit
sur
une
ligne.*
/
if
(eregi(
"
title
(.*
)
/
title
"
,
$line
,
$out)
)
{
$title
=
$out[1]
;
break
;
}
}
fclose($file)
;
?
|
|
Vous
pouvez
aussi
écrire
des
fichiers
sur
un
serveur
FTP
aussi
longtemps
que
vous
êtes
connecté
avec
un
utilisateur
ayant
les
bons
droits
d'
accès
,
alors
que
le
fichier
n
'existait
pas
encore
.
Pour
vous
connecter
avec
un
utilisateur
autre
qu'
anonyme
,
vous
devez
spécifier
un
nom
d'utilisateur
(et
certainement
le
mot
de
passe
)
dans
l'URL
,
comme
par
exemple
'ftp
:
/
/user:password@ftp.example.com
/
path
/
to
/
file'
.
(Vous
pouvez
utiliser
le
même
type
de
syntaxe
pour
accéder
aux
fichiers
via
HTTP
lorsqu'ils
nécessitent
une
authentification
basique
)
.
Exemple
19-2
.
Stocker
des
données
sur
un
serveur
distant
?php
$file
=
fopen(
"ftp
:
/
/ftp.php.net
/
incoming
/
outputfile"
,
"w")
;
if
(!$file
)
{
echo
"
p
Impossible
d'ouvrir
un
fichier
distant
en
écriture.\n"
;
exit
;
}
/
*
Ecriture
des
données
.
*
/
fputs($file
,
"$HTTP_USER_AGENT\n")
;
fclose($file)
;
?
|
|
Remarque
:
Vous
pouvez
avoir
l'
idée,à
partir
de
l'exemple
ci-dessus
,
d'utiliser
la
même
technique
pour
écrire
sur
un
log
distant
,
mais
comme
mentionné
ci-dessus
vous
ne
pouvez
qu'écrire
sur
un
nouveau
fichier
en
utilisant
les
fonctions
fopen(
)
Vous
pouvez
avoir
l'idée,à
partir
de
l'exemple
ci-dessus
,
d'utiliser
la
même
technique
pour
écrire
sur
un
log
distant
,
mais
comme
mentionné
ci-dessus
vous
ne
pouvez
qu'écrire
sur
un
nouveau
fichier
en
utilisant
les
fonctions
fopen(
)
avec
une
URL
.
Pour
faire
des
log
distribués
,
nous
vous
conseillons
de
regarder
la
partie
syslog(
)
.