ssh2 ordner auslesen mit php (bestimmte endungen)

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

  • ssh2 ordner auslesen mit php (bestimmte endungen)

    Hallo leute,

    ich hab nen kleines Problem.
    Ich will via ssh2 über php auf einen anderen Server einen Ordner auslesen lassen, dann nur die mit bestimmte Dateiendungen anzeigen und in ein Formular als Dropdown anzeigen lassen.

    Ich hatte das ganze mal mit readdir(); usw. gemacht.
    Frage ist jetzt wie ich das via ssh2_exec schaffe.
    Hatte jetzt nen test gemacht mit
    Code:
    dir
    . Nur das will nicht so recht.
    Will also z.b. alle .txt Dateien aus nem Ordner auf nem anderen Root auslesen und dann in die Dropdownliste einfügen (einzel logischerweise).

    Hat vill. i-jm. schon sowas gemacht oder weiß wie ich das hinbekomme?

    Viele Grüße

  • #2
    Läuft der entfernte Host mit Linux oder Windows?

    Kommentar


    • #3
      sry hatte ich vergessen

      Linux Server mit php5

      es kann auch mit nem anderen Befehl gemacht werden, dachte nur das "dir" auf allen Linux Distris verfügbar ist oder war das "ls"?

      Kommentar


      • #4
        vorzugsweise ls *.endung - dann hast du gleich die Auswahl eingeschränkt auf die Elemente die dich interessieren

        für dir muss erst ein alias eingerichtet werden, der aber in den meisten Fällen eher auf ls -al (komplette Liste mit vielen Detail-Informationen) gesetzt wird
        [font=Verdana]
        Wer LESEN kann, ist klar im Vorteil!
        [/font]

        Kommentar


        • #5
          Kannst auch php -r mit entsprechendem PHP-Code aufrufen und dir so bspw. mit einen RecursiveDirectoryIterator und json_encode oder serialize etwas zurück geben lassen, was du auf Clientseite direkt weiterverarbeiten kannst.

          Kommentar


          • #6
            naja... auf dem anderen server soll nicht unbedingt php / apache laufen.


            also ich habs jetzt soweit, das er mir den ordnerinhalt ausgibt.
            sprichfunction exec_over_ssh logt sich ein, öffnet stream, sendet befehl und gibt dann alles aus)
            Code:
            $output_files = exec_over_ssh('ipadresse','port','username','password','ls /pfad/zumverzeichnis/*.endung')
            Auf der Website gibt er nun auch schön brav alle Dateien mit der bestimmten Endung aus. zwar in dem format "/pafd/zum/verzeichnis/dateiname.dateiendung" aber das kann man später easy weg machen.
            Problem ist halt nur, wie ich jetzt jede Datei in ein Array einlese.
            weil:
            Code:
            $output_files = explode(" ",$output_files);
            nicht geht.

            Kommentar


            • #7
              Mit welchem Befehl lässt du dir denn die Dateien auflisten? Die Ausgabe von ls ist entweder zeilen- oder spaltenweise. Da gibts also keine Leerzeichen und deswegen funktioniert dein explode() nicht. Wenn du ls zeilenweise ausgeben lässt, funktioniert explode("\n", ...).

              Übrigens hast du weiter oben gesagt, auf der Maschine läuft Linux und PHP5. Jetzt heißt es plötzlich "auf dem anderen server soll nicht unbedingt php / apache laufen". Was denn nun?
              Apache brauchst du sowieso nicht. Aber ein PHP-CLI auf dem Server wäre schon nicht schlecht. Dann bräuchtest du gar kein explode, weil du die Daten gleich fertig strukturiert über SSH bekommst.
              Aber muss ja nicht sein. Kannst sie auch clientseitig aufdröseln.

              Kommentar


              • #8
                also es ist so gedacht, das das Interface auf einem server liegt, der halt ssh2_exec usw. unterstützt, die anderen Hosts jedoch nur ne Linux Distrie sind ohne apache / php weil die dort nicht benötigt werden.

                Deshalb Hostsystem Linux inkl. apache2 und php
                clientsysteme Linux aber ohne apache2 und php

                ... habs jetzt mit der Option -m hinbekommen und dann , exploden lassen.

                somit funktioniert das ganze
                ... danke für den hinweis mit ln, dachte halt, das dir gänig ist....
                den rest sollte ich nun selber hinkriegen

                Kommentar

                Lädt...
                X