Heim > Artikel > Backend-Entwicklung > Laden Sie Dateien mit PHP auf einen anderen PHP-Server hoch
Mit den Funktionen fopen, fread und fwrite können Dateiströme geöffnet, Datenströme gelesen und Daten in Dateien geschrieben werden.
Dateiressourcen müssen nicht unbedingt auf einen Speicherort auf dem lokalen Computer verweisen.
Hier ist ein Beispiel für die Übertragung einer Datei von einem lokalen Server auf einen FTP-Server:
$file = "file_name.jpg"; $destination = fopen("ftp://username:password@example.com/" . $file, "wb"); $source = file_get_contents($file); fwrite($destination, $source, strlen($source)); fclose($destination);
Das Bild muss auf einen FTP-Server übertragen werden. Der Server wird also im Schreibmodus geöffnet, das Bild wird an diesen Speicherort geschrieben und der Stream wird geschlossen.
Die Curl-Erweiterung verwendet die Client-URL-Bibliothek (libcurl), um Dateien von einem Speicherort an einen anderen zu übertragen. Die Logik zur Implementierung der Curl-Lösung folgt der folgenden Logik:
Eine Curl-Sitzung kann mit der Funktion „curl_init“ initialisiert werden. Es gibt Ressourcen zurück, die mit anderen Curl-Funktionen verwendet werden können.
Das Ziel hochgeladener Dateien und andere Faktoren im Zusammenhang mit der Übertragungssitzung können mit „curl_setopt“ festgelegt werden.
Hierfür ist die Curl-Ressource erforderlich, eine vordefinierte Konstante, die Einstellungen und optionale Werte darstellt.
Hier ist ein Beispiel, das dasselbe demonstriert:
$session_begin = curl_init(); curl_setopt($session_begin, CURLOPT_POST, true); curl_setopt($session_begin, CURLOPT_POSTFIELDS, array('file' => 'path/to/file.txt')); curl_setopt($session_begin, CURLOPT_URL, 'http://server2/upload.php'); curl_exec($session_begin); curl_close($session_begin);
Der zweite Server kann wie ein normaler Datei-Upload behandelt werden.
Das obige ist der detaillierte Inhalt vonLaden Sie Dateien mit PHP auf einen anderen PHP-Server hoch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!