![Datei vom FTP-Server Nr. 1 auf den FTP-Server Nr. 2 herunterladen](https://rvso.com/image/1496901/Datei%20vom%20FTP-Server%20Nr.%201%20auf%20den%20FTP-Server%20Nr.%202%20herunterladen.png)
Ich möchte ein PHP-Skript mit cURL-Bibliothek verwenden, um einen Verzeichnisnamen herunterzuladenDaten(mit einer .xml- und einer .txt.zip-Datei), die sich auf meinem FTP-Server Nr. 1 befindet, auf meinem FTP-Server Nr. 2. Dieses Verzeichnis sollte alle 24 Stunden heruntergeladen werden.
Ist dies mit cURL möglich?
Antwort1
Bei dem, was Sie anfordern, handelt es sich für Sie nicht unbedingt um einen „Download“.
Wenn ich Sie richtig verstehe, möchten Sie die Datei vom FT-Server Nr. 1 herunterladen und dannhochladendie Datei an FTP-Server Nr. 2. Es gibt keine direkte Möglichkeit, einem Server mitzuteilen, dass er sie an den anderen übertragen soll ...
...es sei denn, Sie haben Zugriff auf die Ausführung von Programmen auf den Servern selbst (d. h. wenn Sie der Administrator sind oder SSH/PHP-Zugriff auf einen der eigentlichen Servercomputer haben). DANN könnten Sie eine Datei vom FTP-Server Nr. 1 auf den lokalen Computer herunterladen (derIstFTP-Server #2).
Antwort2
Ich mache so etwas in Bezug auf meinen VPS und verwende dafür multcloud.com. Sie bieten 2 TB Datenverkehr kostenlos und 10 TB, wenn Sie ihn in sozialen Medien teilen. Sie können wiederkehrende Übertragungen darauf einrichten. Früher habe ich mover.io verwendet, aber jetzt ist es eine kostenpflichtige Option.
Beste grüße.
PS:- Wenn das nicht das ist, wonach Sie suchen, hinterlassen Sie bitte einen Kommentar und lassen Sie es mich wissen. Ich weiß nichts über cURL, daher kann ich diesen Teil Ihrer Frage nicht beantworten.
Antwort3
Ich kann Ihnen nicht antworten. Das ist so problematisch. Ich habe jedenfalls versucht, file_get_contents und file_put_contents zu verwenden, was mein Host zulässt.
<?php
/* FTP SERVEUR #1)
$contents = file_get_contents("ftp://username:pass@directory/file.xml");
/* FTP SERVEUR #2)
file_put_contents("ftp://username:pass@directory/file.xml", $contents);
?>
Ich führe dies aus. Ich sehe keine Datei.xml in meiner Nr. 2 und habe keinen Fehler! Ich habe es versucht echo($contents)
und es funktioniert. Das Problem tritt beim file_put_contents auf.
BEARBEITEN: Dies funktioniert, wenn Sie die Berechtigungen Ihres Zielverzeichnisses innerhalb von Server Nr. 2 auf setzen 777
.