Darky^: FTP Datei erzeugen ohne lokale Datei

Hallo!

Ich will auf einem FTP, auf dem ich mittels PHP connecte eine neue HTML Seite anlegen, die den Text beinhaltet, der in einer MYSQL Datenbank in einer Tabelle als Text direkt gespeichert ist.

Leider weis ich absolut nicht, wie das möglich ist, da alle funktionen wie ftp_put usw. eine lokale Datei wollen ich aber wie oben geschrieben eine Datei OHNE Lokale Datei auf den FTP erstellen will.

Mfg

  1. Liebe(r) Darky^,

    was bitte ist eine Datei ohne lokale Datei?

    FTP steht für "File Transfer Protocol", zu Deutsch "Datei Transfer Protokoll" und ist dazu da, Dateien von einem Server zum anderen zu transferieren. Selbstverständlich ist damit gemeint, dass auf dem Zielsystem diese Datei im Dateisystem angelegt (oder modifiziert) wird.

    Ich habe den starken Verdacht, dass Du den Zusammenhang von FTP und dynamisch erzeugten (z.B. aus einer Datenbank generierten) "Seite" (sprich HTML-Dokument) noch nicht ganz verstanden hast.

    Anders ist mir Deine Frage nicht erklärlich.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Liebe(r) Darky^,

      was bitte ist eine Datei ohne lokale Datei?

      FTP steht für "File Transfer Protocol", zu Deutsch "Datei Transfer Protokoll" und ist dazu da, Dateien von einem Server zum anderen zu transferieren. Selbstverständlich ist damit gemeint, dass auf dem Zielsystem diese Datei im Dateisystem angelegt (oder modifiziert) wird.

      Ich habe den starken Verdacht, dass Du den Zusammenhang von FTP und dynamisch erzeugten (z.B. aus einer Datenbank generierten) "Seite" (sprich HTML-Dokument) noch nicht ganz verstanden hast.

      Anders ist mir Deine Frage nicht erklärlich.

      Liebe Grüße,

      Felix Riesterer.

      Also: Auf einen Webspace soll ein Formular sein, wo man Username, Passwort, Server und Directory angeben kann, dann soll sich das PHP Script in Gang Setzen den Code einer HTML Seite aus der Mysql Datenbank legen, dann sich auf den Webspace(Connecten klappt dann doch nur per PHP, da es ein leerer Webspace sein soll, wo sich kein Script befindet) einloggen, dort dann eine HTML Datei anlegen und dorthin den HTML Code aus der entfernten MYSQL DB schreiben.

    2. Hallo Felix,

      FTP steht für "File Transfer Protocol", zu Deutsch "Datei Transfer Protokoll"

      aber bitte ohne die Leerzeichen ...

      Selbstverständlich ist damit gemeint, dass auf dem Zielsystem diese Datei im Dateisystem angelegt (oder modifiziert) wird.

      Da sind wir uns einig.

      Ich habe den starken Verdacht, dass Du den Zusammenhang von FTP und dynamisch erzeugten (z.B. aus einer Datenbank generierten) "Seite" (sprich HTML-Dokument) noch nicht ganz verstanden hast.

      Ich unterstelle dem OP, dass er den Zusammenhang sehr wohl verstanden hat. Ich verstehe ihn nämlich so, dass er mit PHP eine Datei erzeugen will, das aber direkt per FTP auf dem Zielsystem.

      Das ist bei den FTP-Funktionen von PHP allerdings nicht vorgesehen.
      Falls allow_url_fopen gesetzt ist, könnte er allerdings auf die FTP-Funktionen verzichten und direkt mit

      $fh = fopen("ftp://user:pass@host/file", "w");

      die Datei erzeugen und schreiben. Andernfalls muss man vermutlich selbst "FTP sprechen" - zumindest die Clientrolle.

      So long,
       Martin

      --
      Denken ist wohl die schwerste Arbeit, die es gibt. Deshalb beschäftigen sich auch nur wenige damit.
        (Henry Ford, amerikanischer Industriepionier)
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. Hallo Felix,

        FTP steht für "File Transfer Protocol", zu Deutsch "Datei Transfer Protokoll"

        aber bitte ohne die Leerzeichen ...

        Selbstverständlich ist damit gemeint, dass auf dem Zielsystem diese Datei im Dateisystem angelegt (oder modifiziert) wird.

        Da sind wir uns einig.

        Ich habe den starken Verdacht, dass Du den Zusammenhang von FTP und dynamisch erzeugten (z.B. aus einer Datenbank generierten) "Seite" (sprich HTML-Dokument) noch nicht ganz verstanden hast.

        Ich unterstelle dem OP, dass er den Zusammenhang sehr wohl verstanden hat. Ich verstehe ihn nämlich so, dass er mit PHP eine Datei erzeugen will, das aber direkt per FTP auf dem Zielsystem.

        Das ist bei den FTP-Funktionen von PHP allerdings nicht vorgesehen.
        Falls allow_url_fopen gesetzt ist, könnte er allerdings auf die FTP-Funktionen verzichten und direkt mit

        $fh = fopen("ftp://user:pass@host/file", "w");

        die Datei erzeugen und schreiben. Andernfalls muss man vermutlich selbst "FTP sprechen" - zumindest die Clientrolle.

        So long,
        Martin

        Hi!

        Ich habs nun einmal so probiert, jedoch klappt es nicht ganz:

          
        <?php  
          
        $server=$_POST["server"];  
        $user=$_POST["user"];  
        $password=$_POST["password"];  
        $directory=$_POST["directory"];  
          
        $connect_id=ftp_connect($server);  
        mysql_connect("localhost","root","myroot");  
        mysql_select_db("test");  
          
        if(($login_result=ftp_login($connect_id, $user, $password)) !== FALSE){  
            echo 'Verbindung konnte hergestellt werden<br>';  
        }  
        else  
        {  
            echo 'Fehler beim Verbinden (Logindaten falsch?).<br>';  
        }  
          
        if (ftp_mkdir ($connect_id, $directory) !== FALSE)  
        {  
          echo 'Anlegen eines neuen Verzeichnisses war erfolgreich!<br>';  
        }  
        else  
        {  
          echo 'Anlegen eines neuen Verzeichnisses war NICHT erfolgreich!<br>';  
        }  
          
        if(($fh = fopen("ftp://"+$user+":"+$password+"@"+$server+"/"+$directory+"/test.txt", "w")) !== FALSE){  
            echo 'Datei erstellt<br>';  
        }  
        else  
        {  
            echo 'Fehler beim Erstellen der Datei. <br>';  
        }  
          
        ?>  
          
        
        

        Bekomm zwar Datei erstellt zurück, leider wird trotzdem keine angelegt.

        1. Hi,

          if(($fh = fopen("ftp://"+$user+":"+$password+"@"+$server+"/"+$directory+"/test.txt", "w")) !== FALSE){

          echo 'Datei erstellt<br>';
          }

          
          >   
          > Bekomm zwar Datei erstellt zurück, leider wird trotzdem keine angelegt.  
            
          Du schreibst ja auch keine Daten rein ... gut möglich, dass der FTP-Server die Datei dann gleich wieder löscht, wenn er merkt, „hey, der macht ja gar nix damit.“  
            
          MfG ChrisB  
            
          
          -- 
          RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
          
  2. 'ǝɯɐu$ ıɥ

    Ich will auf einem FTP, auf dem ich mittels PHP connecte eine neue HTML Seite anlegen, die den Text beinhaltet, der in einer MYSQL Datenbank in einer Tabelle als Text direkt gespeichert ist.

    Leider weis ich absolut nicht, wie das möglich ist, da alle funktionen wie ftp_put usw. eine lokale Datei wollen ich aber wie oben geschrieben eine Datei OHNE Lokale Datei auf den FTP erstellen will.

    Wilst du vlt. auf den anderen Server ein PHPScript spielen, welches dann bei Abruf die Daten aus der Datenbank fischt und die HTMLDatei erstellt?

    ssnɹƃ
    ʍopɐɥs

    --
    “Bewahre mich vor der Einbildung, bei jeder Gelegenheit und zu jedem Thema etwas sagen zu müssen. Erhalte mich liebenswert.”
    - Teresa von Avila (1515 – 1582) Schutzheilige des SELFHTML-Forums
    1. 'ǝɯɐu$ ıɥ

      Ich will auf einem FTP, auf dem ich mittels PHP connecte eine neue HTML Seite anlegen, die den Text beinhaltet, der in einer MYSQL Datenbank in einer Tabelle als Text direkt gespeichert ist.

      Leider weis ich absolut nicht, wie das möglich ist, da alle funktionen wie ftp_put usw. eine lokale Datei wollen ich aber wie oben geschrieben eine Datei OHNE Lokale Datei auf den FTP erstellen will.

      Wilst du vlt. auf den anderen Server ein PHPScript spielen, welches dann bei Abruf die Daten aus der Datenbank fischt und die HTMLDatei erstellt?

      ssnɹƃ
      ʍopɐɥs

      Also: Auf einen Webspace soll ein Formular sein, wo man Username, Passwort, Server und Directory angeben kann, dann soll sich das PHP Script in Gang Setzen den Code einer HTML Seite aus der Mysql Datenbank legen, dann sich auf den Webspace(Connecten klappt dann doch nur per PHP, da es ein leerer Webspace sein soll, wo sich kein Script befindet) einloggen, dort dann eine HTML Datei anlegen und dorthin den HTML Code aus der entfernten MYSQL DB schreiben.

      Es soll sich um einen leeren beliebigen Webspace handeln soll, wo man diese HTML Seite ohne Skript übertragen soll.

      1. 'ǝɯɐu$ ıɥ

        Also: Auf einen Webspace soll ein Formular sein, wo man Username, Passwort, Server und Directory angeben kann, dann soll sich das PHP Script in Gang Setzen den Code einer HTML Seite aus der Mysql Datenbank legen, dann sich auf den Webspace(Connecten klappt dann doch nur per PHP, da es ein leerer Webspace sein soll, wo sich kein Script befindet) einloggen, dort dann eine HTML Datei anlegen und dorthin den HTML Code aus der entfernten MYSQL DB schreiben.

        Es soll sich um einen leeren beliebigen Webspace handeln soll, wo man diese HTML Seite ohne Skript übertragen soll.

        Machs net so kompliziert, erstelle die HTML Datei auf dem Server auf dem sich auch DB/Formular befinden und _dann_ spiele diese HTML Datei auf den anderen Server.

        ssnɹƃ
        ʍopɐɥs

        --
        “Bewahre mich vor der Einbildung, bei jeder Gelegenheit und zu jedem Thema etwas sagen zu müssen. Erhalte mich liebenswert.”
        - Teresa von Avila (1515 – 1582) Schutzheilige des SELFHTML-Forums