Je suis en train de développer un plugin qui va envoyer des fichiers sur un serveur distant via http upload. Actuellement, je travaille avec CURL pour faire quelque chose comme ça:
$post = array("post_file"=>"@/path/FILE.EXT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
Maintenant, ma question est de savoir comment atteindre le même objectif avec wp_remote_Host. Comment le fichier est-il inclus dans l'argument 'body'?.
Pour plus d'informations voir ceci. http://codex.wordpress.org/Function_API/wp_remote_post
Quelque chose comme ça, peut-être.
$args['body'] = array('post_file'=>'@/path/FILE.EXT');
wp_remote_post($url, $args);
Le tableau $ args contient les paramètres de la publication. Le paramètre body contrôle ce qui est posté. Il y a aussi beaucoup d'autres paramètres possibles. Voir http://codex.wordpress.org/HTTP_API#Other_Arguments
Notez que la méthode @file peut être spécifique à curl et peut ne pas fonctionner avec les autres transports HTTP possibles pris en charge par WP.
J'ai lu le code source dans wp-includes/class-http.php et wp_remote_post()
ne prend pas en charge l'envoi de fichiers. Je pense que vous auriez besoin de ré-écrire la classe WP_Http pour que cela fonctionne ou autrement écrire un plugin ou une extension pour le gérer.