User Tools

Site Tools


wiki:os:debian:apache2_put

Apache2 a metoda PUT

Metodu PUT lze využít pro předání(odeslání) souboru na server s běžící službou apache2. Na serveru se spustí předem definovaný script pro příjem dat metodou PUT a soubor je scriptem zpracován. Takto lze realizovat například jednoduché API, kdy na server zašleme XML soubor jehož obsah se např.může zapsat do databáze.

root@server:~# a2enmod actions
root@server:~# nano /etc/apache2/sites-available/default
/etc/apache2/sites-available/default
...
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                Script PUT /put.php
        </Directory> 
...        
root@server:~# service apache restart
put.php
<?php
/* PUT data comes in on the stdin stream */
$putdata = fopen("php://input", "r");
 
/* Open a file for writing */
$fp = fopen("var/www/test.xml", "w");
 
/* Read the data 1 KB at a time and write to the file */
while ($data = fread($putdata, 1024))
  fwrite($fp, $data);
 
/* Close the streams */
fclose($fp);
fclose($putdata);
?>

Nastavení práv do kterého si PHP zapíše data přijatá metodou PUT:

root@server:~# chmod 766 /var/www/test.xml

Test odeslání souboru na server metodou PUT:

root@server:~# curl -i -X PUT -T “/var/www/DATA.xml” http://localhost/put.php
wiki/os/debian/apache2_put.txt · Last modified: 2014/12/26 18:31 (external edit)