PHP Curl-Datei-Upload vom POST-Formular
Das Hochladen von Dateien mit POST-Formularen kann eine Herausforderung sein, insbesondere wenn cURL auf der Serverseite verwendet wird. Um dieses Problem zu lösen, sollten Sie den folgenden Ansatz in Betracht ziehen:
Serverseitige cURL-Implementierung
Um Datei-Uploads zu verarbeiten und über cURL zu senden, können Sie PHPs Superglobal $_FILES verwenden. Hier finden Sie Informationen zu hochgeladenen Dateien. Hier ist ein Codeausschnitt, der den Prozess demonstriert:
if (isset($_POST['upload'])) { $fileKey = 'image'; // Assuming your file input has 'image' as its name // Retrieve file information $tmpFile = $_FILES[$fileKey]['tmp_name']; $fileName = $_FILES[$fileKey]['name']; // Prepare cURL parameters $postFields = ['file' => '@' . $tmpFile, /* Other post parameters if needed */]; $url = 'https://example.com/curl_receiver.php'; // URL to send the file to // Initialize and configure cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Execute cURL request $result = curl_exec($ch); // Handle cURL response if (curl_errno($ch)) { // Handle error } else { // Success, do further processing with $result } // Close cURL connection curl_close($ch); }
Empfangsskript (curl_receiver.php)
<?php // Handle incoming POST data if (!empty($_FILES)) { // Retrieve file information $tmpFile = $_FILES['file']['tmp_name']; $fileName = $_FILES['file']['name']; // Process and save the uploaded file // ... // Send response to the client echo json_encode(['status' => 'success']); } else { // Handle error, no file uploaded echo json_encode(['status' => 'error', 'message' => 'No file uploaded']); } ?>
Das obige ist der detaillierte Inhalt vonWie lade ich Dateien mit PHP cURL aus einem Formular-POST hoch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!