Maison > développement back-end > tutoriel php > Comment télécharger des fichiers à l'aide de cURL à partir d'un formulaire HTML POST en PHP ?

Comment télécharger des fichiers à l'aide de cURL à partir d'un formulaire HTML POST en PHP ?

Mary-Kate Olsen
Libérer: 2024-11-10 14:09:02
original
460 Les gens l'ont consulté

How to Upload Files Using cURL from a HTML Form POST in PHP?

Téléchargement de fichiers via cURL à partir d'un formulaire POST en PHP

Présentation

Cette question traite de la gestion des téléchargements de fichiers à partir d'une requête POST de formulaire via cURL. Le balisage du formulaire est simple :

<form action="" method="post" enctype="multipart/form-data">
  <input type="file" name="image">
Copier après la connexion

Gestion des téléchargements de fichiers sur le serveur

Pour gérer les téléchargements de fichiers côté serveur, vous devez utiliser la variable globale $_FILES de PHP. Cette variable contiendra un tableau d'informations sur les fichiers téléchargés, y compris leurs noms de fichiers temporaires et les noms de fichiers d'origine.

L'extrait de code suivant montre comment utiliser $_FILES pour obtenir des informations sur l'image téléchargée :

if (isset($_POST['upload'])) {
  $tmpFileName = $_FILES['image']['tmp_name'];
  $originalFileName = $_FILES['image']['name'];
}
Copier après la connexion

Envoi du fichier via cURL

Pour envoyer le fichier via cURL, vous devez spécifier l'option CURLOPT_INFILE et la définir sur le nom de fichier temporaire. Vous devez également définir l'option CURLOPT_UPLOAD sur 1. Par exemple :

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, "http://example.com/upload.php");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_INFILE, $tmpFileName);
curl_setopt($curl, CURLOPT_UPLOAD, 1);

$curlResult = curl_exec($curl);

curl_close($curl);
Copier après la connexion

Réception du fichier sur le serveur

Sur le serveur de réception, vous pouvez utiliser le code suivant pour recevoir le fichier téléchargé :

<?php
// Get the file from the request
$file = file_get_contents('php://input');

// Save the file to a temporary location
$tmpFileName = tempnam(sys_get_temp_dir(), 'phpexec');
file_put_contents($tmpFileName, $file);

// You can now process the file as needed

// Delete the temporary file
unlink($tmpFileName);
?>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal