Soporte del método PUT

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 lt; Directory gt ; o quizás en el bloque lt;Virtualhost gt ; . 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 .