88 votes

comment télécharger un fichier en utilisant curl avec PHP

Je veux savoir comment télécharger un fichier en utilisant cURL ou autre en PHP. J'ai cherché dans google plusieurs fois mais aucun résultat.

En d'autres termes, l'utilisateur voit un bouton de téléchargement de fichier sur un formulaire, le formulaire est posté dans mon script php, puis mon script php doit le re-poster dans un autre script (par exemple sur un autre serveur).

J'ai ce code pour recevoir le fichier et le télécharger

code :

echo"".$_FILES['userfile']."";
$uploaddir = './';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if ( isset($_FILES["userfile"]) ) {
    echo '<p><font color="#00FF00" size="7">Uploaded</font></p>';
    if (move_uploaded_file
($_FILES["userfile"]["tmp_name"], $uploadfile))
echo $uploadfile;
    else echo '<p><font color="#FF0000" size="7">Failed</font></p>';
}

Je veux que le code envoie le fichier au fichier récepteur.

177voto

karthik Points 1904

Utilisez :

if (function_exists('curl_file_create')) { // php 5.5+
  $cFile = curl_file_create($file_name_with_full_path);
} else { // 
  $cFile = '@' . realpath($file_name_with_full_path);
}
$post = array('extra_info' => '123456','file_contents'=> $cFile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result=curl_exec ($ch);
curl_close ($ch);

Vous pouvez également vous référer :

http://blog.derakkilgo.com/2009/06/07/send-a-file-via-post-with-curl-and-php/

Remarque importante pour PHP 5.5+ :

Maintenant, nous devrions utiliser https://wiki.php.net/rfc/curl-file-upload mais si vous souhaitez toujours utiliser cette approche dépréciée, vous devez définir le paramètre curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X