Rekursive Funktion: Allen unterordnern und dateien eines ordners chmod xxx vergeben

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

  • Rekursive Funktion: Allen unterordnern und dateien eines ordners chmod xxx vergeben

    PHP-Code:

    function rec_chmod ($path, $value) {

    // schau' nach, ob das ueberhaupt ein Verzeichnis ist
    if (!is_dir ($path)) {
    return -1;
    }
    // oeffne das Verzeichnis
    $dir = @opendir ($path);

    // Fehler?
    if (!$dir) {
    return -2;
    }

    // gehe durch das Verzeichnis
    while ($entry = @readdir($dir)) {
    // wenn der Eintrag das aktuelle Verzeichnis oder das Elternverzeichnis
    // ist, ignoriere es
    if ($entry == '.' || $entry == '..') continue;
    // wenn der Eintrag ein Verzeichnis ist, dann
    if (is_dir ($path.'/'.$entry)) {
    // rufe mich selbst auf
    $res = rec_chmod ($path.'/'.$entry);
    // wenn ein Fehler aufgetreten ist
    if ($res == -1) { // dies duerfte gar nicht passieren
    @closedir ($dir); // Verzeichnis schliessen
    return -2; // normalen Fehler melden
    } else if ($res == -2) { // Fehler?
    @closedir ($dir); // Verzeichnis schliessen
    return -2; // Fehler weitergeben
    } else if ($res == -3) { // nicht unterstuetzer Dateityp?
    @closedir ($dir); // Verzeichnis schliessen
    return -3; // Fehler weitergeben
    } else if ($res != 0) { // das duerfe auch nicht passieren...
    @closedir ($dir); // Verzeichnis schliessen
    return -2; // Fehler zurueck
    }
    } else if (is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) {
    // ansonsten chmod diese Datei / diesen Link
    $res = @chmod ($path.'/'.$entry, $value);
    // Fehler?
    if (!$res) {
    @closedir ($dir); // Verzeichnis schliessen
    return -2; // melde ihn
    }
    } else {
    // ein nicht unterstuetzer Dateityp
    @closedir ($dir); // Verzeichnis schliessen
    return -3; // tut mir schrecklich leid...
    }
    }
    // schliesse nun das Verzeichnis
    @closedir ($dir);
    return 0;
    }

    Habe diesen Code erhalten:

    dieser soll angeblich allen Unterordnern und Dateien eines Ordners CHMOD xxx vergeben den man oben einstellt.

    Wie wende ich nun diese Funktion in php an?

    www.domain.at/explorer/fotos .... alle dateien und alle unterordner in diesem ordner sollen chmod 755 erhalten

    wie vergebe ich die variablen oben?

    wie wende ich nun diese funktion an?

    wie sieht das konkret für mein beispiel aus?

    brauche diesen chmod, da ich sonst bei der einlesefunktion die vorschaubilder nicht sehe die ich in eine gallery einfügen will ...


    Vielen Dank!

    Liebe grüße
    Daniel

  • #2
    Re: Rekursive Funktion: Allen unterordnern und dateien eines ordners chmod xxx vergeben

    Regeln lesen und beachten bzw. umsetzen bitte, danke.
    Insb. in Bezug auf Code-Formatierung, und Verwendung von Beispieldomains.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wie wende ich nun diese Funktion in php an?
      Was für Parameter verlangt sie denn ?
      Könntest es ja mal so probieren...
      PHP-Code:
      rec_chmod ('/pfad/zum/verzeichnis'0755); 
      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Original geschrieben von jahlives
        Was für Parameter verlangt sie denn ?
        Könntest es ja mal so probieren...
        PHP-Code:
        rec_chmod ('/pfad/zum/verzeichnis'0755); 
        Gruss

        tobi

        pfad -> (http://www.domain.com/explorer/fotos)

        wenn ich rec_chmod so aufrufe

        rec_chmod('/explorer/fotos/', 0755)

        bleibt er bei if (!is_dir ($path)) {
        return -1;

        stehen...

        warum??

        egal ob /explorer/fotos/ oder /explorer/fotos

        lg daniel
        Zuletzt geändert von ; 08.05.2007, 14:11.

        Kommentar


        • #5
          Tu bitte, worum ich dich bat.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            brauche script was allen unterordnern und dateien eines ordners chmod xxx zuweist.

            php script wär toll...

            diesen code was ich hier bekommen habe... wie wende ich diesen für variablen:

            www.domain.at/explorer/fotos, chmod 755 an??

            danke!

            lg daniel

            Kommentar


            • #7
              Original geschrieben von wahsaga
              Tu bitte, worum ich dich bat.
              ok sorry!

              Kommentar


              • #8
                Schon mal was von Servervariabeln gehört ? Probier's so
                PHP-Code:
                rec_chmod($_SERVER['DOCUMENT_ROOT'].'/explorer/fotos/'0755); 
                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Original geschrieben von jahlives
                  Schon mal was von Servervariabeln gehört ? Probier's so
                  PHP-Code:
                  rec_chmod($_SERVER['DOCUMENT_ROOT'].'/explorer/fotos/'0755); 
                  Gruss

                  tobi
                  was bedeutet:

                  Warning: Missing argument 2 for rec_chmod() in /var/www/web567/html/chmod.php on line 10

                  line 10: function rec_chmod ($path, $value){ ...

                  danke!

                  lg

                  Kommentar


                  • #10
                    Du hast das 2. Argument nicht an die Funktion übergeben.
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      welches 2 argument?
                      chmod wird nicht gesetzt ... funktioniert nicht ...

                      wie sieht die komplette php datei dann aus?

                      bitte helft mir ... bin am verzweifeln...

                      Lg daniel

                      Kommentar


                      • #12
                        welches 2 argument?
                        dasjenige das deine Funktionsdefinition erwartet, du Nase
                        PHP-Code:
                        function rec_chmod ($path$value) { 
                        ... 
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Original geschrieben von jahlives
                          dasjenige das deine Funktionsdefinition erwartet, du Nase
                          PHP-Code:
                          function rec_chmod ($path$value) { 
                          ... 
                          und wie sieht jetzt die fertige lösung für mein problem aus?
                          sry
                          vielen dank!

                          lg daniel

                          Kommentar


                          • #14
                            und wie sieht jetzt die fertige lösung für mein problem aus?
                            Schlechte Fragestellung, aber du willst es nicht anders
                            OffTopic:

                            Schmeiss deinen Computer aus dem Fenster und such dir ein anderes Hobby


                            Dein Problem ist dein Verständnis von der Materie und da gibt's nur eines: Grundlagen, Grundlagen und nochmals Grundlagen. Kropff's Tutorial in meinem Footer ist sehr lehrreich.
                            Und wenn du es nicht schaffst einen Funktionsaufruf hinzukriegen

                            Btw: Fertigen Code gibt's hier nicht.

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar

                            Lädt...
                            X