Ankündigung

Einklappen
Keine Ankündigung bisher.

FTP CHMOD Rekursiv

Einklappen

Neue Werbung 2019

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

  • FTP CHMOD Rekursiv

    Hi,

    ich habe ein Verzeichnis in das des öfteren Dateien über FTP hochgeladen werden. Diese Dateien sollen auf per Web editierbar sein. Leider ändert nicht jeder Benutzer immer die Rechte der Ordner bzw. Dateien. Deswegen können einige Dateien nicht über das Webinterface Editiert werden, da das editieren mit den php Dateisystemfunktionen funktioniert.
    Nun wollte ich als ein weiteres Feature ein Scripte bereitstellen, welches alles Ordner und Dateien eines FTP Pfades, mit den Rechten 777 versieht.
    Gibt es dafür eine einfache Möglichkeit ? Oder muss man alles aufwendig rekursiv durchgehen und ändern ?
    http://www.bsnx.net/php

  • #2
    am bestens mit shell_exec einfach "chmod -R rwx ORDNERNAME" aufrufen.
    http://wiki.ubuntuusers.de/Shell/chmod

    und wenn das von dem Anbieter gesperrt ist, dann mach eben rekursiv (aber nenn bitte das nicht "Aufwändig", da rekursive funktionen geanu gegenteil von "Aufwendig" sind
    Slava
    http://bituniverse.com

    Kommentar


    • #3
      Rekursive Funktionen Gegenteil von aufwendig?! Oo naja, lassen wir ma stehn

      Im Endeffekt wirst du es auf die ein andere Weise rekursiv machen müssen, bloss das zB beim Beispiel von Slava die Rekursion schon vom System erledigt wird und du nicht selbst erledigen musst. Bin mir aber nicht sicher, ob das mit chmod funktioniert, weil der Webserver, auf den das Script laufen soll, ja keine Schreibrechte besitzt (weil mans sonst gleich editieren kann).
      Nicht jeder Fehler ist ein Bug.

      Kommentar


      • #4
        es lohnt sich aber wenigstens versuchen chmod mit -R aufzurufen.
        vermutlich kann man das sogar mit dem befehl
        ftp_site oder ftp_exec direkt starten .
        Slava
        http://bituniverse.com

        Kommentar


        • #5
          Du könntest einfach eine Funktion schreiben, die immer wieder sich selbst aufruft, wenn es auf einen Ordner stößt.

          PHP-Code:
          <?php

          function chmod_r($Path) {
             
          $dp opendir($Path);
             while(
          $File readdir($dp)) {
                if(
          $File != "." AND $File != "..") {
                   
          chmod($Path."/".$File0777);
                   if(
          is_dir($Path."/".$File)) {
                      
          chmod_r($Path."/".$File);
                   }
                }
             }
          }

          ?>

          Kommentar


          • #6
            Wird so ein CHMOD-Befehl auf ein Verzeichnis angewandt, oder auf jede gewuenschte Datei? Ich bin mir noch nicht ganz im Klaren darueber.
            sigpic
            Vielen Dank für Eure Zeit, Absicht, Mühe und für Eure Ideen. Grüße,
            Sven

            Kommentar


            • #7
              Soweit ich weiß wird chmod() auch auf Verzeichnisse angewandt

              Kommentar


              • #8
                Kann man prima selbst ausprobieren

                Kommentar


                • #9
                  Ja, werde ich. Ist ja nur der Webspace meines Employers, he he he!

                  Vielen Dank an GelaMu und auch an Zergling.
                  sigpic
                  Vielen Dank für Eure Zeit, Absicht, Mühe und für Eure Ideen. Grüße,
                  Sven

                  Kommentar


                  • #10
                    Super - hat geklappt! Vielen Dank erneut an alle!
                    sigpic
                    Vielen Dank für Eure Zeit, Absicht, Mühe und für Eure Ideen. Grüße,
                    Sven

                    Kommentar


                    • #11
                      @GelaMu: Deine Funktion wird die Load auf dem System richtig schön in die Höhe treiben, da du den DirPointer nicht mehr schließt. Dein Hoster wird dir's danken
                      Viele Grüße,
                      Dr.E.

                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      1. Think about software design [B]before[/B] you start to write code!
                      2. Discuss and review it together with [B]experts[/B]!
                      3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
                      4. Write [I][B]clean and reusable[/B][/I] software only!
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                      Kommentar

                      Lädt...
                      X