Envoyer un fichier via cURL depuis un formulaire POST en PHP
Lors de la gestion des téléchargements de fichiers à partir d'un formulaire POST en PHP, il est essentiel de comprendre comment utilisez cURL pour envoyer le fichier. Le balisage du formulaire comprend généralement un champ de saisie de fichier avec enctype="multipart/form-data".
Pour envoyer un fichier à l'aide de cURL avec une requête POST, utilisez l'approche suivante :
$post = array( 'image' => '@' . $_FILES['image']['tmp_name'] );
Initialiser cURL :
$ch = curl_init();
Définir cURL options :
curl_setopt($ch, CURLOPT_URL, 'http://example.com/curl_receiver.php'); curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
Exécuter la requête :
curl_exec($ch);
Fermer cURL :
curl_close($ch);
Sur le côté réception, un script comme curl_receiver.php peut recevoir le fichier :
if (isset($_FILES['image'])) { move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']); } ?>
Exemple :
Formulaire :
<form action="script.php" method="post" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit" name="upload" value="Upload" /> </form>
Script ( 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); }
Script du récepteur (curl_receiver.php) :
if (isset($_FILES['image'])) { move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']); }
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!