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:
$post = array( 'image' => '@' . $_FILES['image']['tmp_name'] );
cURL initialisieren:
$ch = curl_init();
cURL-Optionen festlegen :
curl_setopt($ch, CURLOPT_URL, 'http://example.com/curl_receiver.php'); curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
Anfrage ausführen:
curl_exec($ch);
cURL schließen:
curl_close($ch);
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']); } ?>
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>
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); }
Empfängerskript (curl_receiver.php):
if (isset($_FILES['image'])) { move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']); }
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!