Chargement par méthode PUT
PHP
supporte
la
méthode
HTTP
PUT
utilisée
par
les
navigateurs
tels
que
Netscape
Composer
et
W3C
Amaya
.
Les
requêtes
de
type
PUT
sont
beaucoup
plus
simples
que
les
chargements
de
fichiers
,
et
elles
ressemblent
à
:
Normalement
,
cela
signifie
que
le
client
distant
va
sauver
les
données
qui
suivent
dans
le
fichier
:
/
path
/
filename.html
de
votre
disque
.
Ce
n'
est
évidemment
pas
très
sécurisé
de
laisser
Apache
ou
PHP
écraser
n'importe
quel
fichier
de
l
'arborescence
.
Pour
éviter
ceci
,
il
faut
d'
abord
dire
au
serveur
que
vous
voulez
qu
'un
script
PHP
donné
gère
la
requête
.
Avec
Apache
,
il
y
a
une
directive
pour
cela
:
Script
.
Elle
peut
être
placée
n'
importe
où
dans
le
fichier
de
configuration
d
'Apache
.
En
général
,
les
webmestres
la
place
dans
le
bloc
Directory
,
ou
peut
être
dans
le
bloc
Virtualhost
.
La
ligne
suivante
fera
très
bien
l
'
affaire
:
Elle
indique
à
Apache
qu
'
il
doit
envoyer
les
requêtes
de
chargement
par
méthode
PUT
au
script
put.php3
.
Bien
entendu
,
cela
présuppose
que
vous
avez
activé
PHP
pour
qu
'
il
prenne
en
charge
les
fichiers
de
type
.php3
,
et
que
PHP
est
actif
.
Dans
le
fichier
put.php3
file
vous
pouvez
mettre
ceci
:
Ce
script
va
copier
le
fichier
chargé
par
le
client
distant
à
l
'
endroit
désiré
.
Vous
aurez
probablement
à
effectuer
quelques
tests
et
des
authentifications
d'
utilisateur
,
avant
d
'effectuer
cette
copie
.
Le
seul
piège
est
que
lorsque
PHP
reçoit
un
chargement
par
méthode
PUT
,
il
va
enregistrer
le
fichier
dans
le
dossier
temporaire
,
tout
comme
avec
la
méthode
POST-method
.
A
la
fin
de
la
requête
,
le
fichier
sera
effacé
.
Ce
qui
fait
que
ce
script
doit
placer
le
fichier
chargé
quelque
part
.
Le
nom
du
fichier
temporaire
est
placé
dans
la
variable
globale
$PHP_PUT_FILENAME
,
et
la
destination
prévue
est
placée
dans
$REQUEST_URI
Le
nom
du
fichier
temporaire
est
placé
dans
la
variable
globale
$PHP_PUT_FILENAME
,
et
la
destination
prévue
est
placée
dans
$REQUEST_URI
(
ces
noms
peuvent
changer
d'une
configuration
d'Apache
à
l'autre
)
.
Cette
destination
est
celle
qui
est
demandée
par
le
client
,
et
vous
n
'
avez
pas
à
obéir
aveuglément
au
client
.
Vous
pourriez
par
exemple
,
déplacer
le
fichier
dans
un
dossier
de
chargement
.