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:

PUT /path/filename.html HTTP/1.1

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:

Skript PUT /put.php

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:

<?php copy($PHP_UPLOADED_FILE_NAME,$DOCUMENT_ROOT.$REQUEST_URI); ?>

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.