0

私は2つのサーバーを持っています.1つはアプリケーションサーバーで、もう1つはAPIサーバーです.APIサーバーはからデータを読み取ります$_FILES.

だから私の質問は、データを取得できるようにファイルデータを API サーバーに送信するにはどうすればよい$_FILESですか?

そのためには CURL が必要です。フォーム ポストは必要ありません。

ありがとう、

4

2 に答える 2

2

POST 経由で php/cURL を使用してファイルを送信する簡単なスクリプトを次に示します。

<?php
$target_url = 'http://127.0.0.1/accept.php';
    //This needs to be the full path to the file you want to send.
$file_name_with_full_path = realpath('./sample.jpeg');
    /*  the at sign '@' is required before the
     * file name.
     */
$post = array('extra_info' => '123456','file_contents'=>'@'.$file_name_with_full_path);


    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$target_url);
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    $result=curl_exec ($ch);
    curl_close ($ch);
    echo $result;

そして、これはファイルを受け入れるための対応するスクリプトです。

 <?php
$uploaddir = realpath('./') . '/';
$uploadfile = $uploaddir . basename($_FILES['file_contents']['name']);
    if (move_uploaded_file($_FILES['file_contents']['tmp_name'], $uploadfile)) {
        echo "File is valid, and was successfully uploaded.\n";
    } else {
        echo "Possible file upload attack!\n";
    }
?>
于 2013-06-25T06:52:03.943 に答える