2010-05-19 4 views
6

leí algo sobre esto en PHP docs, pero no es claro para mí:PHP usando en lugar de a la POST

  1. ¿Los navegadores más utilizados (IE, FF, Chrome, Safari, Opera, ...) admite este método PUT para cargar archivos?

  2. ¿Qué HTML debo escribir para que el navegador llame al servidor a través de una solicitud PUT? Quiero decir, ¿tengo que escribir un FORM con un campo de archivo INPUT y simplemente reemplazar el atributo method="POST" con method="PUT"?

  3. En la documentación de PHP (enlace de arriba) dicen una solicitud PUT es mucho más simple que una solicitud POST al cargar el archivo, junto con esta ventaja, ¿qué otras ventajas/disadvanatges hacer la PUT tiene en comparación con el POST?

+0

Esto no es realmente una IMO engañada, esta pregunta trata específicamente con el uso del método en la carga de archivos. –

Respuesta

1

Creo que el método es compatible con la mayoría de los navegadores principales, pero no se puede tener en cuenta cada navegador y otro cliente que esté disponible. Desde una mirada superficial a las notas aportadas por el usuario, esto a veces incluso necesita la configuración del lado del servidor para funcionar.

Además, manejar los valores de formulario adicionales que desee enviar junto con su archivo se vuelve más difícil.

No lo usaría. Demasiadas molestias posibles para una pequeña ganancia real.

+0

gracias por su sugerencia. En el sitio web de PHP aquí hay un comentario de la comunidad que explica exactamente cómo hacerlo en el servidor, no parece un gran esfuerzo, solo requiere configurar un poco el archivo .htaccess. Lo que el comentarista pierde identificaciones la forma de hacerlo en el navegador del cliente. –

+0

@Marco en el lado del cliente, debe ser un simple '

'. (Actualización: según @Mario, esto no es suficiente. Verifique su respuesta.) Pero como dije, aunque los principales navegadores lo admiten, es posible que muchas bibliotecas cliente, componentes, navegadores exóticos y otros clientes no lo hagan. –

0

PUT no es muy ampliamente soportado por los navegadores, y no se utiliza generalmente para los formularios HTML interactivos.

0

El hecho de que PUT se use muy raramente para este propósito y solo sea compatible con los principales navegadores lo excluye del uso posible aquí.

6

El método PUT no se puede utilizar desde un formulario < >. MSIE no lo admite a través de la GUI del usuario. Sin embargo, puede usar XMLHttpRequest. Parece estar definido en el estándar y WHATWG/HTML5. Mi navegador (Opera) obviamente le gusta.

http://old.mnot.net/javascript/xmlhttprequest/ IE también podría funcionar, como sugiere una breve búsqueda en Google. Y Firefox se ve bien. No revisado Chrome o Webkit.

Sitio de servidor necesita un script especialmente designado para manejar una solicitud PUT entrante. Mira en los documentos de Apache. Una regla mod_rewrite por lo general puede hacer. La ventaja general de PUT es que no se requiere codificación/marshalling de archivos en un tipo multipart/* mime. En teoría, esto permite cargar archivos más grandes de manera más confiable. Aunque si usas PHP, no te ayudará mucho. Está destinado a servidores web con soporte WebDAV y/o acceso directo de escritura al sistema de archivos. (Apache puede guardar archivos cargados, si usa eso.)

Cuestiones relacionadas