Heim > Backend-Entwicklung > PHP-Tutorial > Wie sende ich eine Datei über cURL aus einem Formular-POST in PHP?

Wie sende ich eine Datei über cURL aus einem Formular-POST in PHP?

Linda Hamilton
Freigeben: 2024-11-09 17:08:02
Original
894 Leute haben es durchsucht

How to Send a File via cURL from a Form POST in PHP?

Datei über cURL aus Formular-POST in PHP senden

Beim Umgang mit Datei-Uploads aus einem Formular-POST in PHP ist es wichtig zu verstehen, wie das geht Verwenden Sie cURL, um die Datei zu senden. Formular-Markup enthält normalerweise ein Dateieingabefeld mit enctype="multipart/form-data".

Um eine Datei mit cURL mit einer POST-Anfrage zu senden, verwenden Sie den folgenden Ansatz:

  1. Dateipfad abrufen: Verwenden Sie $_FILES'image', um den temporären Dateipfad auf dem Server abzurufen.
  2. Bereiten Sie die cURL-Parameter vor: Erstellen Sie ein Array mit der Datei Details. Beispiel:
$post = array(
    'image' => '@' . $_FILES['image']['tmp_name']
);
Nach dem Login kopieren
  1. cURL initialisieren:

    $ch = curl_init();
    Nach dem Login kopieren
  2. cURL-Optionen festlegen :

    curl_setopt($ch, CURLOPT_URL, 'http://example.com/curl_receiver.php');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    Nach dem Login kopieren
  3. Anfrage ausführen:

    curl_exec($ch);
    Nach dem Login kopieren
  4. cURL schließen:

    curl_close($ch);
    Nach dem Login kopieren

Auf der Empfangsseite kann ein Skript wie curl_receiver.php die Datei empfangen:

if (isset($_FILES['image'])) {
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']);
}
?>
Nach dem Login kopieren

Beispiel:

Formular:

<form action="script.php" method="post" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit" name="upload" value="Upload" />
</form>
Nach dem Login kopieren

Skript (script.php):

if (isset($_POST['upload'])) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://example.com/curl_receiver.php');
    curl_setopt($ch, CURLOPT_POSTFIELDS, array(
        'image' => '@' . $_FILES['image']['tmp_name']
    ));
    curl_exec($ch);
    curl_close($ch);
}
Nach dem Login kopieren

Empfängerskript (curl_receiver.php):

if (isset($_FILES['image'])) {
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sende ich eine Datei über cURL aus einem Formular-POST in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage