HTTP-PROPFIND-Methode mit PHP / Webdav

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • HTTP-PROPFIND-Methode mit PHP / Webdav

    Hallo,

    ich möchte aus einem PHP-Skript mit einem PROPFIND-Request die Metadaten des Inhaltes meines Webdav-Laufwerkes anzeigen lassen.
    Nachdem ich schon alle Varianten ausprobiert habe, die mir eingefallen sind, wird das Skript nach der maximal möglichen Ausführ-Zeit beendet.
    Die einzige Nachricht, die ich im Browser sehe, ist die Fehlermeldung "Maximum execution time of 5 seconds exceeded ......" - sonst nichts.

    Das Skript sieht momentan so aus:

    Quellcode

    1. $content = "PROPFIND /files/ HTTP/1.1 \r\n";
    2. $content .= "Host: localhost \r\n";
    3. $content .= "Depth: 0\r\n";
    4. $content .= "Content-Type: application/xml; charset=\"utf-8\"\r\n";
    5. $content .= "Content-Length: 100\r\n";
    6. $content .= "Connection:keep-alive\r\n";
    7. $content .= "\r\n";
    8. $content .= "<?xml version=\"1.0\" encoding=\"utf-8\">";
    9. $content .= "<propfind xmlns=\"DAV:\">";
    10. $content .= " <propname/>";
    11. $content .= "</propfind>";
    12. $fp = fsockopen("localhost", 80, $errno, $errstr, 1);
    13. if(!$fp)
    14. {
    15. echo "$errno -> $errstr<br>";
    16. }
    17. else
    18. {
    19. fwrite($fp, $content);
    20. while(!feof($fp))
    21. {
    22. echo fread($fp, 10);
    23. }
    24. fclose($fp);
    Alles anzeigen


    Die Webdav-Konfiguration im Webserver sieht so aus:

    Quellcode

    1. # Adding WebDAV-Support
    2. # Adding Entry for Lock database
    3. DavLockDB conf/DavLock
    4. # Release WebDav-Paths
    5. Alias /files "D:/Webdav"
    6. <Directory "D:/Webdav">
    7. AllowOverride All
    8. Dav On
    9. ForceType text/plain
    10. Options Indexes
    11. # Authentifizierung fuer bestimmte Nutzer
    12. #AuthType Basic
    13. #AuthName "WebDav-Laufwerk"
    14. #AuthUserFile "D:/Webdav/.htusers"
    15. #Require user test
    16. #SSLRequireSSL
    17. </Directory>
    Alles anzeigen


    Ich verwende den Apache-Webserver 2.0.x und PHP 5.2.0.

    Hat jemand eine Idee dazu, woran der Fehler liegen könnte?

    Gruß
    Michael
  • waltraud28 schrieb:

    Die einzige Nachricht, die ich im Browser sehe, ist die Fehlermeldung "Maximum execution time of 5 seconds exceeded ......" - sonst nichts.

    Hi.
    Die Zeilenangabe müsste aber noch dabei sein, oder? Findet das Timeout beim connecten oder beim Auslesen des Inhalts statt.

    Um die Konfiguration auf Serverseite auszuschließen. Mit einem normalen Webdav Client hast du es schon getestet, oder?