chmod umwandeln

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

  • chmod umwandeln

    Hi,
    Ich habe mal eine Frage.
    Und zwar lese ich mit den FTP-Funktionen von PHP den chmod einer datei aus. Jetzt sieht das so aus:

    drwxrwxrwx

    Wie kann ich das jetzt aber in die zahlen umwandeln, also z.B. wie 777?

    Gibt es dazu schon eine fertige Funktion?

  • #2
    schlecht gelesen?
    http://de2.php.net/manual/de/function.chmod.php#49614
    Slava
    bituniverse.com

    Kommentar


    • #3
      hmmm...sry..
      muss es irgendwie übersehen haben.
      Trotzdem Danke!

      Kommentar


      • #4
        habe jetzt aber doch nochmal probleme mit der funktion.
        Und zwar, hat eine datei den chmod 777 und es wird zu der datei also folgendes ausgegeben als chmod:
        -rwxrwxrwx

        Jetzt benutze ich die folgende Funktion:
        PHP-Code:
        public function chmodnum($mode) {
                  
        $realmode "";
                   
        $legal =  array("","w","r","x","-");
                
        $attarray preg_split("//",$mode);
                   for(
        $i=0;$i<count($attarray);$i++){
                       if(
        $key array_search($attarray[$i],$legal)){
                           
        $realmode .= $legal[$key];
                       }
                   }
                
        $mode str_pad($realmode,9,'-');
                
        $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
                echo 
        $mode;
                
        //$mode[0] ist leer, müsste aber 1 sein...
                
        $mode strtr($mode,$trans);
                
                
        $newmode '';
                
        $newmode .= $mode[0]+$mode[1]+$mode[2];
                
        $newmode .= $mode[3]+$mode[4]+$mode[5];
                
        $newmode .= $mode[6]+$mode[7]+$mode[8];
                return 
        $newmode;
            } 
        aber irgendwie gibt er mir einen chmod von 677 aus, was ja falsch ist.
        die $mode[0] ist auch immer 0, auch wenn sie eigentlich 1 sein müsste.

        Hat einer von euch eine Idee warum das nicth funktioniert?

        EDIT:
        mir ist gerade noch aufgefallen, dass $mode[0] nur leer ist, also auch nicht funktioniert, wenn das eine datei ist. Bei ordnern funktioniert es einwandfrei.
        Zuletzt geändert von Creativ; 09.07.2006, 19:20.

        Kommentar


        • #5
          hat keiner eine idee warum es nicht geht?

          Kommentar


          • #6
            Du sitzt schon 5te Tag an dieser Problem und hast nicht rausgefunden warum es nicht geht?
            1) du könntest in 5 Tagen schon 10 eigenen functionen schreiben
            2) Sorry, aber dein Nickname passt dir nicht, wenn du weiter auf eine fertige Lösung wartest.
            Slava
            bituniverse.com

            Kommentar


            • #7
              nein, ich sitze nicht seit 5 tagen daran. Meine gastmutter aus amerika war für 4 tage da, habe also daher gar nichts gemacht.
              und ich habe nicht auf eine fertige lösung gewartet, ich habe auf einen vorschlag gewartet, warum es nicht geht...

              habe jetzt aber rausgefunden dass bei manchen werten komischerweise $mode 10 ziffern hat, und die erste dann immer 0 ist. Muss dass dann nur auf 9 ziffern kürzen und dann gehts.

              Kommentar

              Lädt...
              X