PHP soporta el metodo HTTP PUT que usan aplicaciones como Netscape
Composer y Amaya del W3C. Las peticiones PUT son más sencillas que
el método POST. Un ejemplo:
Esto normalmente significaría que el cliente remoto quiere salvar
el contenido como: /path/filename.html en tu árbol web. Lógicamente
no una buena idea que la gente pueda escribir en tu árbol web. Para
manipular esta petición debes decirle al servidor que esta petición
sea atendida por un script PHP. En Apache, por ejemplo, se utiliza
para esto la directiva Script en los alguno
de los archivos de configuración del servidor. Un sitio típico de
uso es dentro del bloque <Directory> o quizás en el
bloque <Virtualhost>. Una linia así deberia hacer ésta
función:
Ésto le dice a Apache que envíe todas peticiones PUT para URIs que
contengan esta linia al script put.php. Se asume que PHP se
encuentra activo y con la extensión .php enlazada a él.
Dentro del script put.php3 se podría implementar algo así:
Esto copiaría el archivo a la localización requerida por el cliente
remoto. Aqui se pueden ejecutar funciones de autentificación de
usuario o cualquier otro tipo de chequeo. El archivo se guarda en
el archivo temporal del sistema servidor de la misma manera que el
Método POST.
Cuando la petición finaliza, el archivo temporal es eliminado. En
consequencia el script dede proceder al trato de éste inmediatamente,
ya sea para copiarlo, renombrarlo, etc. El archivo se encuentra en
la variable $PHP_PUT_FILENAME, y el destino sugerido por el cliente
en la variable $REQUEST_URI (puede variar en servidores web que no sean
Apache). No es necesario hacer caso al destino sugerido por el cliente.
Por ejemplo se podrían copiar los archivos enviados a directorios
especialmente designados para esta tarea.