Heim  >  Artikel  >  Backend-Entwicklung  >  Laden Sie Dateien mit PHP auf einen anderen PHP-Server hoch

Laden Sie Dateien mit PHP auf einen anderen PHP-Server hoch

WBOY
WBOYnach vorne
2023-09-11 20:53:021357Durchsuche

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:

  • Initialisieren Sie zuerst die Sitzung.
  • Sie können die gewünschten Übertragungsoptionen einstellen.
  • Übertragung kann durchgeführt werden.
  • Sitzung kann geschlossen werden.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen