FTP Ordner/Files Anzeige im Netzwerk

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

  • #31
    @Abraxax

    Soll dir von Payne_of_Death danken.

    Da fehlte wirklich ein }.

    Kommentar


    • #32
      PHP-Code:
      $ftp_server "80.136.224.223";

      if(
      $fp = @fsockopen ($ftp_server21$errno$errstr3))
      {
        
      fclose($fp);
        
      $conn_id ftp_connect("$ftp_server");
        
      $login_result ftp_login($conn_id"guest""guest");

        
        if (
      $contents ftp_rawlist($conn_id"")) {
                  
      }

        foreach (
      $contents as $startwert) {
            echo 
      $startwert "<br>";
        if (
      $contents2 ftp_rawlist($conn_id$startwert)) {
                  
      $i =0;
                  
      $d_i=0;
                  while ( 
      $contents2[$i]) {
                      
      $item[] = split("[ ]+",$contents[$i],9);
                      
      $item_type=substr($item[$i][0],0,1);
                      if (
      $item_type == "d") {
                          
      /* it's a directory */
                          
      $nlist_dirs[$d_i]=$item[$i][8];
                          
      $d_i++;
                          foreach ( 
      $nlist_dirs as $dirs ) {
                              print 
      $dirs "<br>"; }
                  } elseif (
      $item_type == "-") {
                          
      /* it's a file */
                          
      $nlist_files[$f_i]=$item[$i][8];
                          
      $nlist_filesize[$f_i]=$item[$i][4];
                          
      $f_i++;
                          foreach ( 
      $nlist_dirs as $files ) {
                           echo 
      $files "<br>"; }
                  } 
      /* ignore all others */

                      
      $i++;

                  } 
      // While-Schleife
      }}    // Abschluss Auslesprozess             

      // Abschluss Verbindungsversuch


      else { print "Verbindungsversuch scheiterte"; } 
      thx Lamagra fürs ausrichten-> großer Blutgott

      Ich brauch mal einen Rat. Wenn mein kranker Verstand richtig arbeitet sollte jedes Element des Arrays mit den Dirs vom Root Verzeichnis, den contents 2 füllen mit dessen Unterverzeichnissen und Files dann anzeigen.
      Beim zweiten Elemtent des ersten Arrays weiter und weiter.

      Aber irgendwie liefert der mir nur die Inhalte vom Ersteren Array, aaaaaa


      Schleifenkonstrukt ist mal voll komplex!!!!!!

      Help me
      [color=blue]MfG Payne_of_Death[/color]

      [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
      [color=red]Merke:[/color]
      [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

      Murphy`s Importanst LAWS
      Jede Lösung bringt nur neue Probleme
      Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
      In jedem kleinen Problem steckt ein großes, das gern raus moechte.

      Kommentar


      • #33
        das Ding sollte wenn es fertig ist selbständig Überprüfen wieviele Verzeichnisebenen es gibt und dann solange ein Schleifenkonstrukt starten bis alle Verzeichnise und Files ausgegeben wurden.

        Dies ist auch momentan das Prob
        [color=blue]MfG Payne_of_Death[/color]

        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
        [color=red]Merke:[/color]
        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

        Murphy`s Importanst LAWS
        Jede Lösung bringt nur neue Probleme
        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

        Kommentar


        • #34
          du brauchst doch nur EINE FKT, die recursiv arbeiten kann. das ist doch nicht so schwer.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #35
            @Abraxax: Klar es muss später eine Funktion sein, wird auch gemacht.

            Aber vielen hier als auch dir scheint eines nicht klar zu sein, Die Schleifenanzahl muss varaibel sein

            Es kann nicht sein das ich nur in maximal 2 Ebenen durchgehe -> siehe viele Lösungen hier.

            Das Script muss selbständig entscheiden wie oft ein Durchlauf stattfinden soll und erst dann aufhören wenn alles durchsucht wurde!!!!!

            D.H. wenn ich 20 ineinanderverschachtelte Ordner habe und mal 10 muss das bis in den letzten Ordner durchsucht werden. -> variable Schleifenkonstrukte.

            Und das ist gewissermaßen das Problem wie ich ein variables Schleifenkonstrukt baue?????

            Verstehst du jetzt?

            Deshalb ist die Aufgabe recht komplex da dies abgehandelt werden muss.
            [color=blue]MfG Payne_of_Death[/color]

            [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
            [color=red]Merke:[/color]
            [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

            Murphy`s Importanst LAWS
            Jede Lösung bringt nur neue Probleme
            Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
            In jedem kleinen Problem steckt ein großes, das gern raus moechte.

            Kommentar


            • #36
              Original geschrieben von Payne_of_Death
              Und das ist gewissermaßen das Problem wie ich ein variables Schleifenkonstrukt baue?????
              Verstehst du jetzt?
              ich habe dich verstanden. du mich aber nicht...

              RECURSION ist das stichwort. -> eine fkt die sich selber aufruft.

              beispiel. readftp()

              dieser fkt übergibst du einen standard-startordner von der aus die recursion beginnen soll.

              PHP-Code:
              function readftp($startdir="/")
              {
                
              // ftp-fkt zum auslesen von $startdir
                // dann rawlist und deine schleife.
                // in der schleife prüfst du, ob es ein verzeichnis 'd' ist.
                // wenn ja, dann rufe die fkt wieder auf. -> rekursiv.
                
              readftp($neuesstartdir);

              verstanden?
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #37
                Also wenn das funktioniert lade ich dich auf ein ein.

                Könnte aber sein das ich da Hilfe brauche
                [color=blue]MfG Payne_of_Death[/color]

                [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                [color=red]Merke:[/color]
                [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                Murphy`s Importanst LAWS
                Jede Lösung bringt nur neue Probleme
                Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                Kommentar


                • #38
                  OffTopic:
                  dann darfst aber du nach neuss kommen....


                  und wie soll denn sonst eine recursion funktionieren?

                  aber vorsicht! wenn keine saubere abbruchbedingung in der recursion enthalten ist, wird die fkt immer wieder selbst aufgerufen und der server kackt irgendwann ab.....
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #39
                    Original geschrieben von Abraxax
                    OffTopic:
                    dann darfst aber du nach neuss kommen....

                    Wo liegt Neuss???


                    und wie soll denn sonst eine recursion funktionieren?
                    ka. Hab sowas bishern och nie gemacht und nie gebraucht aber jetzt......

                    aber vorsicht! wenn keine saubere abbruchbedingung in der recursion enthalten ist, wird die fkt immer wieder selbst aufgerufen und der server kackt irgendwann ab.....
                    Bisher Läuft das ganze nur auf meinem lokalen Rechner, aber wenn der abschmiert mein Emule, aaaaaa!


                    Ist mein Script bisher ok?

                    Ach ja ich geh mal davon aus das die weitere Abfrage die du meinst innerhalb der Auslesebedingung der Verzeichnisse stattfinden soll oder?
                    Funktioniert da ein foreach(); Schleife die durch das Array durchgeht oder muss da ein For(); Schleife rein? Hab nämlich vorhin mit der foreach(); Schleife rumprobiert aber die hat irgendwie nie das gebracht was ich wollte.


                    Nachtrag
                    Wieso hast du eigentlich keine ICQ Nr. angegeben??? Nimm dir ein Beispiel an Grandmaster Happy -> wo auch immer der is
                    Zuletzt geändert von Payne_of_Death; 18.05.2003, 13:02.
                    [color=blue]MfG Payne_of_Death[/color]

                    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                    [color=red]Merke:[/color]
                    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                    Murphy`s Importanst LAWS
                    Jede Lösung bringt nur neue Probleme
                    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                    Kommentar


                    • #40
                      > Wo liegt Neuss???

                      direkt neben düsseldorf.....

                      > ka. Hab sowas bishern och nie gemacht und nie gebraucht aber jetzt......

                      mhm. ist aber nicht schwer.

                      > Bisher Läuft das ganze nur auf meinem lokalen Rechner, aber wenn der abschmiert mein Emule, aaaaaa!

                      schei..... emule.

                      > Ist mein Script bisher ok?

                      k.a. wo isses denn in eine aktuellen form?
                      bzw. die aktuelle recus.fkt.

                      > Ach ja ich geh mal davon aus das die weitere Abfrage die du meinst
                      > innerhalb der Auslesebedingung der Verzeichnisse stattfinden soll oder?

                      ja. beim auslesen der rawlist, muss du prüfen, ob 'd' da ist. wenn ja, dann eben die fkt selber aufrufen und das neue startverzeichnis (aktuelles dir + das als 'd' identifizierte) übergeben. z.b. readftp("/dummy/")

                      > Funktioniert da ein foreach(); Schleife die durch das Array durchgeht oder
                      > muss da ein For(); Schleife rein? Hab nämlich vorhin mit der foreach();
                      > Schleife rumprobiert aber die hat irgendwie nie das gebracht was ich
                      > wollte.

                      das hängt von deinen daten ab. ein foreach() ist optimal für arrays.

                      ---
                      > Wieso hast du eigentlich keine ICQ Nr. angegeben???
                      > Nimm dir ein Beispiel an Grandmaster Happy -> wo auch immer der is

                      weil mich sonst jeder auch darüber anpiepst...

                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #41
                        @Abraxax: Sieht zwar besser aus aber dafür hab ich jetzt dutzende von Wiederholungen bekommen. -> hier mal mein nervtötendes Skript.
                        Vielleicht sieht dein geübtes Auge da was

                        PHP-Code:
                        function get_dirs_files ($pfad="/") {

                        $ftp_server "80.136.238.120";

                        if(
                        $fp = @fsockopen ($ftp_server21$errno$errstr3))
                        {
                          
                        fclose($fp);
                          
                        $conn_id ftp_connect("$ftp_server");
                          
                        $login_result ftp_login($conn_id"guest""guest");

                          
                         if (
                        $contents ftp_rawlist($conn_id"$pfad")) {
                                    
                        $i =0;
                                    
                        $d_i=0;
                                    while ( 
                        $contents[$i]) {
                                        
                        $item[] = split("[ ]+",$contents[$i],9);
                                        
                        $item_type=substr($item[$i][0],0,1);
                                        if (
                        $item_type == "d") {
                                            
                        /* it's a directory */
                                            
                        $nlist_dirs[$d_i]=$item[$i][8];
                                            
                        $d_i++;
                                            If ( 
                        count($nlist_dirs) > 0) {
                                                foreach ( 
                        $nlist_dirs as $ausgabe_dirs ) {
                                                    echo 
                        $ausgabe_dirs "<br>"
                                                    
                        get_dirs_files($pfad="$ausgabe_dirs"); }
                                            }    
                                    
                                    } elseif (
                        $item_type == "-") {
                                            
                        /* it's a file */
                                            
                        $nlist_files[$f_i]=$item[$i][8];
                                            
                        $nlist_filesize[$f_i]=$item[$i][4];
                                            
                        $f_i++;
                                            
                                    } 
                        /* Mehr gibts nicht */ 

                                        
                        $i++;

                                    } 
                        // While-Schleife
                        }    // Abschluss Auslesprozess             


                        // Abschluss Verbindungsversuch


                        else { print "Verbindungsversuch scheiterte"; }

                        PS: Der erste Teil meine Signatur spricht da wirklich wahre Worte
                        [color=blue]MfG Payne_of_Death[/color]

                        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                        [color=red]Merke:[/color]
                        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                        Murphy`s Importanst LAWS
                        Jede Lösung bringt nur neue Probleme
                        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                        Kommentar


                        • #42
                          ich teste grad mal....
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #43
                            Original geschrieben von Abraxax
                            ich teste grad mal....
                            Ich sehs irgendeiner mit der IP 213. 128.125.197 wurschtelt auf dem FTP rum, wirst wohl du sein
                            [color=blue]MfG Payne_of_Death[/color]

                            [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                            [color=red]Merke:[/color]
                            [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                            Murphy`s Importanst LAWS
                            Jede Lösung bringt nur neue Probleme
                            Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                            In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                            Kommentar


                            • #44
                              Original geschrieben von Payne_of_Death
                              Ich sehs irgendeiner mit der IP 213. 128.125.197 wurschtelt auf dem FTP rum, wirst wohl du sein


                              hab jetzt aber meinen ftp genommen. geht schneller....
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar


                              • #45
                                Original geschrieben von Abraxax


                                hab jetzt aber meinen ftp genommen. geht schneller....
                                Sieht mir aber nicht so aus -> warum öffnet das Script mehrere Leitungen zum FTP wo jedesmal die Benutzerdaten abgeprüft werden?

                                [color=blue]MfG Payne_of_Death[/color]

                                [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                                [color=red]Merke:[/color]
                                [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                                Murphy`s Importanst LAWS
                                Jede Lösung bringt nur neue Probleme
                                Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                                In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                                Kommentar

                                Lädt...
                                X