fileperms() - Windows

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fileperms() - Windows

    Hi,

    unter Linux funktioniert das, aber bei Windows Systemen kommt bei diesem hier immer etwas ganz anderes raus. Ich habe selbst keinen Windows server und kann es nicht testen, ich weis aber von anderen, dass es unter Windows nicht geht (Windows hat kein CHMOD oder?).

    PHP-Code:
    if(substr(decoct(fileperms("install.php")),2) != 777 && substr(decoct(fileperms("install.php")),2) != 0777
    Also dass ist nur die Abfrage ob eine Datei CHMOD 0777 hat.
    Wie kann man das machen, dass es unter Windows funktioniert???

  • #2
    Unter Windows bekommt man entweder 0100444 (read-only Flag gesetzt) oder 0100666 (kein Schreibschutz) von fileperms zurück. Diese Angaben sind bereits in oct umgerechnet, eigentlich kommt 33060 oder 33206 (dec) zurück.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Also muss ich zu meiner abfrage das dazuschreiben damit es für windows und linux geht?

      PHP-Code:
      && decoct(fileperms("install.php") != 0100666 

      Kommentar


      • #4
        Warum arbeitest du nicht mit is_writeable?
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Windows und auch einige Unixartige arbeiten mit einem ACL Rechte System. Mit Oktalzahlen kommst du da nicht weit.
          Reichen dir nicht is_readable() und seine Brüder?
          Wir werden alle sterben

          Kommentar


          • #6
            Also ich würde mit Bitmasken arbeiten, aber ohne zu wissen, was du genau vorhast, kann ich dir kein genaueren Infos geben. Dass dein Code funktioniert, kann ich mir auch nur schwer vorstellen. Wenn ich mir das so ansehe, wird die Bedingung immer erfüllt:

            decoct(fileperms(...)) liefert z. B. "777"
            substr("777", 2) liefert "7"
            und "7" ist niemals 777 oder 0777
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Warum arbeitest du nicht mit is_writeable?
              Hmm, stimmt, ist mir garnicht in denn sinn gekommen die Funktion zu benutzen. Dann nehm ich lieber die. Das funktionier aber auf allen Systemen, oder?

              Danke.

              Kommentar


              • #8
                Das funktionier aber auf allen Systemen, oder?
                Was sagt denn das Handbuch dazu?
                Wir werden alle sterben

                Kommentar


                • #9
                  Gibt TRUE zurück, wenn die Datei existiert und nicht schreibgeschützt ist. Das Dateinamen-Argument filename kann ein Verzeichnisname sein. So können Sie überprüfen, ob in ein Verzeichnis geschrieben werden kann.
                  Bedenken Sie, dass PHP mit der Benutzer ID auf die Datei zugreift, unter welcher der Webserver läuft (oftmals ist dieses 'nobody'). Beschränkungen durch safe_mode werden nicht berücksichtigt.
                  Das Ergebnis dieses Funktionsaufrufes wird zwischengespeichert. Siehe auch clearstatcache() für weitere Einzelheiten.
                  Diese Funktion ist nicht für remote Dateien geeignet, die zu prüfende Datei muss über das Dateisystem des Servers verfügbar sein.
                  Siehe auch is_readable().
                  Steht nichts, also denke ich mal, dass es geht.

                  Kommentar

                  Lädt...
                  X