FTP Befehl um eine Datei auszulesen?

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

  • FTP Befehl um eine Datei auszulesen?

    Hallo,

    ich verbinde mich mit meinem Script auf einen FTP-Server. Darauf liegt eine bestimmte Datei, die ich auslesen möchte und dann mittels eines Filters in eine DB schreiben möchte. Auf den Server kann ich mich schon mal verbinden. Die Filterfunktion ist auch schon fertig, nur wie kann ich auf dem FTP selber eine Datei ansprechen, ohne dass ich sie downloade?
    So wie ich es jetzt gemacht habe, funktioniert das ja leider nicht ganz.

    PHP-Code:
    if((!$conn_id) || (!$login_result))
    {
        echo 
    "FTP Verbindung ist fehlgeschlagen!";
        exit;
    }
    else
    {
        
    $file "0010046210.txt";
        
    $divider "\t";
        
    $row 6;
        if(
    is_file($file))
        {
            if(
    is_readable($file))
            {
                
    $file file_get_contents($file);
                
    $list explode($divider$file);
                if(isset (
    $list [$row 1]))
                {
                    print 
    $list [$row -1];
                }
            }
            else
            {
                die(
    "Datei nicht lesbar.");
            }
        }
        else
        {
            die(
    "Datei nicht vorhanden.");
        }


  • #2
    was hat das mit FTP zutun?

    filesystem einfach mal zu gemühte führen.

    wenn du eine datei auslesen willst dann so.
    FTP dient eigentlich dazu dateien hoch und runter zu laden.
    Bitte Beachten.
    Foren-Regeln
    Danke

    Kommentar


    • #3
      Wie du siehst, habe ich das ja schon mit dem Filesystem gelöst, aber er sagt mir immer, die Datei wäre nicht vorhanden. Aber wenn ich die Datei aufrufe ist sie da, da dachte ich eben, ich müsste einen speziellen FTP-Befehl nehmen, da ich noch nie was mit FTP vorher zu tun gehabt hatte.

      Kommentar


      • #4
        wo genau liegt die datei die du aufrufen möchtest?

        http://www.cgdesign.de/ << direkt auf der 1 eben oder in einem unterordner?

        weil du prüfst nur ob die datei
        PHP-Code:
        $file "0010046210.txt"
        in der ersten eben sitzt ... wenn sie woanders steckt musst du das angeben ...
        Bitte Beachten.
        Foren-Regeln
        Danke

        Kommentar


        • #5
          Gute Frage, ist nicht mein FTP-Server, aber wenn ich da mir mit ftp_nlist alles ausgeben lasse, sieht das so aus:

          array(4) {
          [0]=>
          string(14) "0010046210.txt"
          [1]=>
          string(11) "acat-de.txt"
          [2]=>
          string(9) "csell.txt"
          [3]=>
          string(11) "acat-en.txt"
          }

          Die Datei ist also schon vorhanden. Es müsste also die erste Ebene sein. Wenn ich jetzt aber mit file_exists prüfe ob die Datei auch wirklich da ist, sagt er mir jedes Mal, dass sie nicht vorhanden wäre. Aber ich kann keine Eben tiefer oder höher gehen.

          Kommentar


          • #6
            was hat das mit FTP zutun?
            hat er doch gesagt:
            ich verbinde mich mit meinem Script auf einen FTP-Server. Darauf liegt eine bestimmte Datei, die ich auslesen möchte ...
            also eignen sich die dateisystem funktionen wie file_exsists() nicht.

            Kommentar


            • #7
              Ok, mit:

              PHP-Code:
                  $contents ftp_nlist($conn_id".");
                  foreach(
              $contents as $th)
                  {
                      if(
              $th == $file)
                      {
                          die(
              "es existiert die datei");
                      }
                  } 
              Klappt es und er findet die Datei. Wie kann ich diese nun jetzt auslesen und weiterverarbeiten?

              Kommentar


              • #8
                lade sie herunter.

                Kommentar


                • #9
                  Und wohin downloaden? Es sollte eigentlich ein dynamisches Script werden, dass jedes Mal automatisch eine Datei von dem Server ausliest und den Inhalt dann sofort in eine DB speichert. Wenn ich sie mir jetzt lokal downloade, bringt mir das ja mal gar nichts...

                  Kommentar


                  • #10
                    1. Alternative.

                    mach es erst Über FTP Downloade die Datei ... Jag sie anschliessend auf deine webseite und dann kannst du in ruhe mit dem Filesystem befehlen von PHP arbeiten.

                    2. Wo genau LIEGT die datei?

                    gesamte url bitte ...

                    vieleicht verbindet der FTP direkt in einen unterordner somit kann es sein das sie im HTTP :// verzeichnispfad ganz wo anders liegt.

                    3. der is_file usw. die gesamten befehle prüfen auf deinem Webspace das heist ...

                    $file = "0010046210.txt";

                    wird genau hier gesucht.

                    http://www.cgdesign.de/0010046210.txt

                    und wenn ich mir das mal genau ansehe.
                    existiert die datei dort nicht.

                    oder liege ich falsch und die skripte die du anwendest liegen an einem ganz anderem ort?
                    Bitte Beachten.
                    Foren-Regeln
                    Danke

                    Kommentar


                    • #11
                      @cgdesign
                      Lokal bei FTP heißt: Lokal aus Sicht des Client.

                      Der FTP-Client ist der Webserver => Lokal ist irgendwo auf dem Webserver
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Wyveres:
                        1. richtig, s. auch mrhappiness
                        2. warum muss es eine url (du meinst sicherlich http) geben? es war nur dir rede von einem ftp-server.
                        3. nein, die dateisystem-funktionen werden im aktuellen ordner ausgeführt, dieser kann auch der doc_root sein, muss aber nicht.

                        Kommentar


                        • #13
                          @Wyveres

                          Wie gesagt, ist nicht mein FTP-Server, sondern einer, auf dem ich nur auf diese Datei zugreifen kann, hat jetzt mit meienr privaten Homepage rein gar nichts zu tun

                          @mrhappiness

                          Ok, also müsste ich die Datei auf meinen Webserver laden und dort kann ich dann schön mit file_get_contents usw. rumspielen, ok, probier ich das mal...

                          Kommentar


                          • #14
                            Original geschrieben von penizillin
                            Wyveres:
                            1. richtig, s. auch mrhappiness
                            2. warum muss es eine url (du meinst sicherlich http) geben? es war nur dir rede von einem ftp-server.
                            3. nein, die dateisystem-funktionen werden im aktuellen ordner ausgeführt, dieser kann auch der doc_root sein, muss aber nicht.
                            @penizillin

                            wenn ich cgdesign richtig verstanden habe.

                            dann hat er bis jetzt eine auf einem exteren FTP Server geschaut ob eine datei dort existiert.

                            danach hat er dateisystem-funktionen benutzt die LOKAL auf seinem nach der Datei schauen.

                            da sie DORT aber nicht existent ist. funktioniert das ganze halt nicht.

                            sprich wenn das Skript irgenntwo auf http://www.cgdesign.de/ liegt
                            und die datei die er auslesen will
                            aber auf http://example.com/user/txt/datei.txt liegt.

                            suchen die befehle laut meines Wissens auf www.cgdesign.de nach der datei um sie auszulesen.

                            also
                            entweder er sorgt dafür das die datei auf sein webspace gelangt wo auch das skript liegt.
                            oder
                            er lässt sich was einfallen um die datei von ihrem orginal platz auszulesen.

                            ich tendiere zu variante 1.
                            Bitte Beachten.
                            Foren-Regeln
                            Danke

                            Kommentar


                            • #15
                              @penizillin

                              wenn ich cgdesign richtig verstanden habe. [...]
                              aber auf http://example.com/user/txt/datei.txt liegt.
                              bis hierhin richtig.
                              suchen die befehle laut meines Wissens auf www.cgdesign.de nach der datei um sie auszulesen.
                              nein, wo "die befehle suchen", habe ich weiter oben gesagt. schau dir getcwd und chdir an.
                              er lässt sich was einfallen um die datei von ihrem orginal platz auszulesen.
                              mit ftp dürfte das nicht gehen. allein schon wegen dem "t" in "ftp".

                              Kommentar

                              Lädt...
                              X