Announcement

Collapse
No announcement yet.

Funktion is_dir() erkennt den Onedrive Ordner nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Funktion is_dir() erkennt den Onedrive Ordner nicht

    Hallo zusammen,

    nach dem Umzug auf einen neuen Server funktioniert der Zugriff auf den OneDrive Ordner nicht mehr.

    Alter Server: Windows Server 2008, PHP Version 7.4.7

    Neuer Server: Windows Server 2019, PHP Version 8.2.4

    $verzeichnis = "C:/Users/Administrator/OneDrive/DPD/abschluss/";
    if ( is_dir ( $verzeichnis ) !== FALSE) { // }

    Auf dem alten Server wird das Verzeichnis erkannt und auf dem neuen Server nicht. Die Pfade sind richtig.
    Woran kann das liegen?

    Gruß Nevada

  • #2
    Prüfe das Ergebnis mit
    var_dump(is_dir($verzeichnis));
    direkt
    Prüfe Groß-/Kleinschreibung im Pfad sowie Zugriffsberechtigung auf das Verzeichnis.
    Warum eine Verdrehung der Bedingung?
    !== false ist true
    Christian

    Comment


    • #3

      $verzeichnis = "C:/Users/Administrator/";
      var_dump(is_dir($verzeichnis));
      => bool(true) Verzeichnis vorhanden

      $verzeichnis = "C:/Users/Administrator/OneDrive/";
      var_dump(is_dir($verzeichnis));
      bool(false) Verzeichnis nicht vorhanden

      Zugriffsrechte hat Jeder mit Vollzugriff, auf dem alten Server hat nur der Administrator Zugriffsrechte.

      Ich habe auch mal quer Beet andere Verzeichnise probiert.... funktionieren alle... Nur das OneDrive will nicht

      Comment


      • #4
        Versuche in dem Verzeichnis eine "test.txt" anzulegen und da "Hallo Welt" reinzuschreiben.

        Und:
        teste mit
        clearstatcache();
        $verzeichnis = "C:/Users/Administrator/OneDrive/";
        var_dump(is_dir($verzeichnis));
        Christian

        Comment


        • #5
          Geht problemlos, also Datei anlegen und ändern

          clearstatcache();
          $verzeichnis = "C:/Users/Administrator/OneDrive/";
          var_dump(is_dir($verzeichnis));
          bool(false)
          Zuletzt editiert von Christian Marquardt; 26.07.2023, 10:26.

          Comment


          • #6
            Tja, dann ist es kein Rechteproblem.

            Habe dann jetzt auch keine Idee mehr.
            Kannst nochmal den String in Hochkomma statt Anführungszeichen setzen oder Backslashes \\ nutzen
            Christian

            Comment


            • #7
              Was mir aufgefallen ist:

              Beim alten Server mit Windows Server 2008 kann im Explorer OneDrive links im Menü anklicken und der Ordner öffnet sich
              Bei Windows Server 2016 und 2019 geht das nicht. Da kann ich den Ordner nur über das Symbol OneDrive in der Taskleiste öffnen.

              Comment


              • #8
                Scheint dann wohl ein "Spezial-Ordner" von Windows geworden zu sein
                Christian

                Comment


                • #9
                  Sorry für den späten Beitrag, falls es schon gelöst ist, einfach ignorieren.

                  Vielleicht weicht der interne Pfad zum OneDrive ab? Der steht in der Konfigurationsdatei zu Deinem Benutzer, bspw.: C:\Users\arne.drews\AppData\Local\Microsoft\OneDri ve\settings
                  In diesem Ordner muss es noch ein Verzeichnis Private oder irgendwas mit Business geben, je nachdem, wie das eingerichtet wurde. In einem dieser Ordner steckt dann ein Konfigurationsdatei, die ähnlich benannt ist, wie meine:
                  Code:
                  8f324c2b-d7b7-4e3d-b66b-23cc45fa8b4e.ini
                  Darin gibt es einen Schlüssel libraryScope, in dessen Wert sich der exakte Pfad befindet ( xxx aus Gründen für hier gesetzt ):
                  libraryScope = 0 cc62622db0554159aaa963d8c8512671 5 "MySite" "ODB" 2 "https://xxx.sharepoint.com/personal/arne_drews_xxx_xxx" "6bea83a3-6dd3-406c-97c8-fbb394093bbe" 63f4e13d400c4620bf30f458ac58d53e e656538ba54a44afb356aba3d5304d88 9ebbc4bbe36c47008662b605122ffdc8 1647184193 "C:\Users\arne.drews\OneDrive - xxx" 1 267c6305-923e-4757-8503-dd80a3df66f9 - 844424930234394 986967185 00000000-0000-0000-0000-000000000000
                  Vielleicht hilft das ja weiter
                  PHP rocks!
                  Eine Initiative der PHP Community

                  Comment

                  Working...
                  X