web-dev-qa-db-ja.com

Wp_remote_postでファイルを送信するには?

私のWordPressプラグインにcURLが欲しくない

こんにちは、cURLはWordPressサイトでは安全に使用できません。そしていつか、cURLは顧客ホスティングで無効になっています。

そして私は自分のプラグインのファイルを送るのにwp_remote_postを使うことにしました

ここに私のコード:

$service = URL SERVICE ;

 $headers = array(
            'accept'       => 'application/json', // The API returns JSON
            'content-type' => 'application/binary', // Set content type to binary
        );


$data     = array(
                'headers'  => $headers,
                'body'     => file_get_contents($image_file),
            );
$response = wp_remote_post($service, $data);

しかし、サーバー上で、私はwp_remote_postからファイルを受信できません。この問題の解決にご協力ください。どのように私はCURLFileと同じwp_remote_postからファイルを送信するように設定することができますか?

1
Trungthanh.hust

私はこの問題の解決策を見つけた、私はファイルのバイナリをサーバーに送るのにwp_remote_postを使う。

サーバーで受信したデータを処理するとき、私はファイルのデータを取得するためにこのコードを使用します

$file = file_get_contents('php://input');

そして私はそれを一時ファイルに書きます

$temp   = tmpfile();
fwrite($temp, $file);
$metadata = stream_get_meta_data($temp);

他に解決策はありますか。最良の答えを見つけるために私と話し合ってください。

0
Trungthanh.hust