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 :

 
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 :






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 . 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 .