web-dev-qa-db-ja.com

Wp_remote_postを使ってリモートサーバーにアップロードする

私はhttpアップロード経由でリモートサーバーにファイルをプッシュするプラグインを開発しています。現在、私はCURLが次のようなことをしているときにうまくいくようにしました:

$post = array("post_file"=>"@/path/FILE.EXT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 

今私の質問は私がwp_remote_Hostを使ってどうやって同じことを達成することができるかです。ファイルは 'body'引数にどのように含まれていますか。

詳しくはこちらをご覧ください。 http://codex.wordpress.org/Function_API/wp_remote_post

1
Carlos Paulino

おそらくこのようなものです。

$args['body'] = array('post_file'=>'@/path/FILE.EXT');
wp_remote_post($url, $args);

$ args配列には投稿のパラメータが含まれています。 bodyパラメータは投稿内容を制御します。他にもたくさんの可能なパラメータがあります。 http://codex.wordpress.org/HTTP_API#Other_Arguments を参照してください。

@fileメソッドはcurlに固有のものであり、WPがサポートする他のHTTPトランスポートでは機能しない可能性があります。

2
Otto

私はwp-includes/class-http.phpのソースコードを読み、wp_remote_post()はファイルの送信をサポートしていません。これを機能させるにはWP_Httpクラスを書き直すか、そうでなければこれを処理するためのプラグインや拡張機能を作成する必要があると思います。

0
morphatic