2009-04-23 10 views
1

Ok, donc le script PHP existe sur serverA. ServerA a PHP safe-mode ON et WebDAV OFF. Je ne peux pas changer l'un ou l'autre de ces facteurs. Je veux un script sur serverA pour obtenir le login/mot de passe de l'utilisateur pour un autre serveur, que nous appellerons serverB. ServerB a WebDAV activé. Le but ultime est que l'utilisateur se rende au script sur ServerA, mette ses informations d'identification pour ServerB, puis le script crée un fichier iCal et le place sur ServerB, permettant ainsi à l'utilisateur de s'abonner à l'iCal fichier en utilisant Outlook/GoogleCalendar, etc (qui nécessite que le fichier soit sur un serveur WebDAV).Connexion/authentification WebDav avec PHP

Alors, j'ai essayé

fopen(servername/filename, r) 

et a été en mesure de lire les fichiers sur le serveur distant. Mais quand j'ai essayé

fopen(servername/filename, w) 

Je reçois une erreur que l'encapsuleur HTTP ne supporte pas l'écriture, seulement la lecture. En bref, existe-t-il un moyen de se connecter à ce serveur et de s'authentifier, d'écrire un fichier, puis de fermer la connexion SANS utiliser les bibliothèques WebDAV déjà existantes pour PHP et sans être touché par une autorisation en mode sans échec Erreur?

Merci!

Répondre

1

le problème est que le l'emballage du protocole HTTP pour PHP ne fait pas PUT. Vous devriez essayer d'écrire votre propre , avec soit fsockopen, soit de préférence quelque chose comme curl

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

Cela n'a rien à voir avec le mode sans échec.

0

Le problème ici est que le mode sans échec est conçu pour vous limiter afin que vous ne puissiez pas exécuter des choses en dehors de votre zone "sûre". Ce que vous pouvez essayer (si vous le pouvez) est de modifier le safe_mode_exec_dir dans php.ini, alors vous pouvez lancer des programmes externes qui pourraient faire l'écriture du fichier pour vous (s'ils résident dans ce répertoire en mode sans échec

a propos de l'authentification, je ne suis pas sûr, peut-être quelqu'un peut répondre plus en détail.

Questions connexes