web-dev-qa-db-fra.com

Transférer sur un serveur distant à l'aide de wp_remote_post

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

1
Carlos Paulino

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.

2
Otto

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.

0
morphatic