19 juin 2015
Si vous avez besoin d’envoyer des fichiers à un site distant au travers de CURL, sous le même format que ce que pourrez faire un formulaire, vous pouvez utiliser la syntaxe suivante :
<?php $data=array( 'nom_1' => '@[CHEMIN_FICHIER];filename=[NOM_FICHIER]', 'var_1' => 'contenu_variable1' );
$ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data')); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); ?>
Avec ce système, vous enverrez vos fichiers via CURL et pourrez les recevoir via les variables $_FILES.
Attention cependant, si vous souhaitez envoyer des tableaux multidimensionnels sous cette forme. En effet, cela n’est pas possible, le tableau $data ne doit contenir qu’un seul niveau, si vous voulez recevoir des tableauxmultidimensionnels, vous devez les préparer grâce à la fonction ci-dessous :
<?php function prepare_array($array){ $k=isset($prefix) ? $prefix.'['.$key.']' : $key; if(is_array($value)){ prepare_array($value, $new, $k); } else{ $new[$k]=$value; } } prepare_array($data, $data_prepared); ?>
Plan du site | Mentions légales | Contactez-moi | Gestion des cookies