Pregunta

De acuerdo, así que existe el script PHP en Provider. ServidorA tiene php segura en modo ON y OFF WebDAV. No puedo cambiar cualquiera de estos factores. Quiero un script en servidorA para obtener de usuario / contraseña del usuario para otro servidor, que llamaremos servidor b. ServidorB tiene WebDAV en.

El objetivo final es que el usuario irá a la secuencia de comandos en Provider, poner en sus credenciales para el servidor B, y luego el script creará un archivo iCal y colocarlo en el servidor B, permitiendo al usuario a continuación, suscribirse al archivo iCal el uso de Outlook / Google Calendar, etc (que requiere el archivo a estar en un servidor WebDAV).

Por lo tanto, he intentado

fopen(servername/filename, r) 

y fue capaz de leer archivos en el servidor remoto. Pero cuando intenté

fopen(servername/filename, w)

Me aparece un error que el envoltorio HTTP no admite la escritura, la lectura única.

Para resumir, hay una manera de conectar a este servidor y autenticar, escribir un archivo, a continuación, cierre la conexión sin el uso de cualquiera de las bibliotecas WebDAV ya existentes para PHP y sin ser golpeado con un error de permisos en modo seguro ?

Gracias!

¿Fue útil?

Solución

El problema es que la envoltura del protocolo HTTP para PHP no hace PUT. Usted debe tratar de escribir su propia, ya sea con fsockopen, o, preferiblemente, algo así como rizo.

http://ca3.php.net/manual/en/wrappers .http.php

Esto no tiene nada que ver con el modo seguro.

Otros consejos

El problema aquí es que Safe-modo está diseñado para restringir de manera que no se puede ejecutar cosas fuera de su zona "segura".

Lo que se podría tratar (si puede) es modificar el safe_mode_exec_dir en php.ini, entonces puede empezar a programas externos que podrían hacer la escritura del archivo para usted (si residen en este directorio-safe mode

Acerca de la autenticación, no estoy seguro, tal vez alguien pueda responder que en más detalle.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top