Podpora metody PUT
PHP
poskytuje
podporu
pro
HTTP
PUT
metodu
používanou
klienty
jako
Netscape
Composer
nebo
W3C
Amaya
.
Požadavky
s
metodou
PUT
jsou
mnohem
jednodušší
než
upload
souborů
a
vypadají
přibližně
takto
:
Toto
by
normálně
znamenalo
,
že
by
chtěl
klient
uložit
obsah
,
který
následuje
za
názvem
/
path
/
filename.html
,
do
svého
webového
stromu
.
To
samozřejmě
není
dobrý
nápad
,
aby
Apache
nebo
PHP
automaticky
nechal
kohokoli
přepsat
jakékoli
soubory
ve
stromě
.
Takže
,
pro
zpracování
takového
požadavku
je
třeba
nejdřív
řici
vašemu
WWW
serveru
,
že
chcete
požadavek
zpracovávat
konkrétním
PHP
skriptem
.
U
serveru
Apache
se
to
provede
direktivou
Script
.
Může
být
umístěna
kdekoli
v
konfiguračním
souboru
Apache
.
Častými
místy
jsou
bloky
Directory
a
Virtualhost
.
Použije
se
k
tomu
řádek
podobný
tomuto
:
Toto
řekne
serveru
Apache
,
aby
všechny
PUT
požadavky
na
nějaký
URI
vyhovující
kontextu
posílal
skriptu
put.php
.
To
pochopitelně
předpokládá
,
že
máte
povoleno
PHP
pro
příponu
.php
a
PHP
je
aktivní
.
V
souboru
put.php
byste
potom
mohli
napsat
něco
jako
:
Toto
by
mělo
zkopírovat
soubor
na
místo
požadované
vzdáleným
klientem
.
Pravděpodobně
byste
chtěli
provést
nějaká
ověření
a
/
nebo
autentizace
uživatele
před
provedením
tohoto
zkopírování
.
Jediným
použitelným
trikem
je
,
že
PHP
uloží
přenesený
soubor
do
dočasného
adresáře
podobně
,
jako
při
použití
metody
POST
.
Až
skript
skončí
,
dočasný
soubor
bude
odstraněn
.
Takže
váš
PHP
skipt
pro
zpracování
PUT
požadavků
musí
soubor
zkopírovat
jinam
.
Název
souboru
v
dočasném
umístění
je
uložen
v
proměnné
$PHP_PUT_FILENAME
a
požadovaný
název
cílového
souboru
v
proměnné
$REQUEST_URI
(
může
se
lišit
u
serverů
jiných
než
Apache
)
.
Toto
cílové
jméno
je
to
jediné
,
co
klient
specifikoval
.
Nemusíte
ho
poslechnout
.
Mohli
byste
,
například
,
kopírovat
všechny
uploadované
soubory
do
speciálního
uploadového
adresáře
.