PHP FTP 2 FTP Transfer von drittem Server initiieren.

frankfurter

Well-known member
ID: 94923
L
28 Mai 2006
58
3
Also ich habe einen Server 1 auf den ich die Dateien hochladen möchte, einen Server 2 von dem die Dateien kommen und einen Server 3 (evt. local) auf dem ich meine Scripts ausführen möchte.

Gibt es da eine andere Möglichkeit außer der unten beschriebenen mit fopen?
denn wenn ich das lokal ausführe ist das sehr langsam. (also der transfer)

die endungen _o stehen jeweils für den Server, von dem transferiert wird, die endung _i für den Server, auf den transferiert wird.
PHP:
$handle = fopen('ftp://'.$ftp_user_name_o.':'.$ftp_user_pass_o.'@'.$ftp_server_o.'/'.$file, "r");
		          $ret = ftp_nb_fput($conn_id_i, $file, $handle, FTP_BINARY);
		           while ($ret == FTP_MOREDATA) {
       				 print ftell ($handle)."\n";
        			$ret = ftp_nb_continue($conn_id_i);
   	 				}
		  			if ($ret != FTP_FINISHED) {
       				 print ("error uploading\n");
        				exit(1);
    					}
 
Also die Variablen hätte man intelligenter wählen können, z.B. als Array.

Für solche Server-Server Übertragungen gibt es das File Exchange Protocol. Dies kann in der Regel durch eine einfache Einstellung in den FTP Server aktiviert werden.