tmpfile() mit ftp_fput() übertragen

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

  • tmpfile() mit ftp_fput() übertragen

    Ich möchte eine Datei generieren und diese ohne sie vorher irgendwo als richtige Datei zu speichern per FTP auf einen anderen Server übertragen...

    Hab mir dafür folgendes überlegt:

    PHP-Code:
    $inhalt "...hier steht ein mehrzeiliger Text...";
    $temp tmpfile();
    fwrite($temp$inhalt);
    $ftp_id ftp_connect("...");
    $login_result ftp_login($ftp_id"...""...");
    //ftp_pasv($ftp_id, TRUE);
    ftp_fput($ftp_id"datei.txt"$tempFTP_ASCII);
    fclose($temp);
    ftp_quit($ftp_id); 
    wenn ich den ftp_pasv() aktiviere wird das script ausgeführt ohne Fehler, die Datei wird angelegt, aber sie ist leer!

    wenn ich den ftp_pasv() so wie oben auskommentiere rödelt das script rum und irgendwann kommt die Fehlermeldung:

    Warning: ftp_fput() [function.ftp-fput]: PORT command successful in /....../....../....php on line 8

    was mach ich falsch? was könnte ich daran anders / besser machen?

  • #2
    wenn ich mich nicht irre, dann schreibt ftp_put die Datei von der Position an, wo der Dateizeiger gerade steht, also am Ende der Datei, daher wird auch ncihts in die Datei geschrieben.
    Versuch mal ein fseek($temp, 0) bevor du die Datei mit ftp_put schreibst, damit der Dateizeiger wieder am Enfang steht..

    Kommentar


    • #3
      Einfach mit fopen über den FTP-URLWrapper arbeiten. Dann brauchste bei dir auch keine Tempdatei
      Wir werden alle sterben

      Kommentar


      • #4
        ja, mit fseek() funktioniert es! Danke!

        Kommentar

        Lädt...
        X