Maison >développement back-end >tutoriel php >Comment télécharger des fichiers via cURL en PHP ?
Téléchargement de fichiers via cURL en PHP
Problème
Gestion des téléchargements de fichiers à partir d'un formulaire POST en PHP et les envoyer en utilisant cURL peut être difficile. Le formulaire HTML utilise le codage multipart/form-data, mais le format exact de téléchargement de fichiers dans une requête cURL reste flou.
Solution
Pour télécharger des fichiers à l'aide de cURL en PHP, suivez ces étapes :
Création de la requête cURL
<?php // Define the file to be uploaded $fileKey = 'image'; $tmpFile = $_FILES[$fileKey]['tmp_name']; $fileName = $_FILES[$fileKey]['name']; // Initialize cURL $ch = curl_init(); // Set cURL options curl_setopt_array($ch, [ CURLOPT_URL => 'https://your-api-endpoint.com', // Replace with your API endpoint CURLOPT_USERPWD => 'username:password', // Replace with your API credentials CURLOPT_UPLOAD => true, CURLOPT_INFILE => fopen($tmpFile, 'r'), // Open the file for reading CURLOPT_INFILESIZE => filesize($tmpFile), ]); **Sending the Request** // Execute the cURL request $response = curl_exec($ch); if (curl_errno($ch)) { echo 'Error sending file: ' . curl_error($ch); } else { // Handle the response echo 'File uploaded successfully.'; } // Close the cURL connection curl_close($ch); ?>
Réception du fichier
Pour la réception script (curl_receiver.php), vous pouvez utiliser le code suivant :
<?php // Get the file data $file = fopen('php://input', 'rb'); // Save the file to a temporary location $tempFile = tempnam(sys_get_temp_dir(), 'file'); file_put_contents($tempFile, $file); // Do something with the file // ... // Clean up fclose($file); unlink($tempFile); ?>
En suivant ces étapes, vous pouvez réussir à télécharger des fichiers à partir d'un formulaire POST en PHP en utilisant cURL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!