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
... <Directory /> Options FollowSymLinks AllowOverride None Script PUT /put.php </Directory> ...
root@server:~# service apache restart
<?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