通过php向aws发送图像

通过php向aws发送图像,php,amazon-web-services,curl,libcurl,Php,Amazon Web Services,Curl,Libcurl,我要做的主要问题是,经过一些处理后,从另一台服务器向AWS发送一个映像。为此,我在第一台服务器中完成了数据库进程。它工作得很好,我测试过了。之后,我必须将此图像直接发送到AWS以启动另一个.php文件。我通过cURL函数进行了尝试: server1.php在第一台服务器中找到的php文件: $url = 'http://myawsurl.com/server/test.php'; $imageData = file_get_contents($_FILES['fileToUpload']['tm

我要做的主要问题是,经过一些处理后,从另一台服务器向AWS发送一个映像。为此,我在第一台服务器中完成了数据库进程。它工作得很好,我测试过了。之后,我必须将此图像直接发送到AWS以启动另一个.php文件。我通过cURL函数进行了尝试:

server1.php在第一台服务器中找到的php文件:

$url = 'http://myawsurl.com/server/test.php';
$imageData = file_get_contents($_FILES['fileToUpload']['tmp_name']);

$post_data = array(
    'tmp' => $_FILES["fileToUpload"]["tmp_name"],
    'type' => $_FILES["fileToUpload"]["type"],
    'name' => $_FILES["fileToUpload"]["name"],
    'data' => $imageData
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
test.php在aws中找到的php文件:

  if ($_POST["tmp"] && $_POST["name"] && $_POST["type"] && $_POST["data"]) { 
        $target_dir_requests = "/requests/";
        create_folder_if_not_exist(ABSPATH . $target_dir_requests);
        $dir_for_req_server = ABSPATH . $target_dir_requests . basename($_FILES["fileToUpload"]["name"]);
        $dir_for_req_server = base64_to_jpeg($_POST["data"],$dir_for_req_server);
    // After some requests that i've to do and i've done 
    } else {
    echo "data sending error";
    }

我试着做点什么,但都没用。你能帮我找到解决办法吗?谢谢。

您正在使用if($\u POST[])检查变量是否为true

实际上,您需要检查变量是否已设置

试试这个,看看是否有结果:

if(isset($_POST['tmp'])){
   echo 'test';
}


卷曲本身应该起作用

您尝试的“待办事项”是什么?我们不会为您编写代码。Edited,base64到jpeg正在工作,我在另一个php文件中使用它。只检查tmp是否足够?不,这只是一个示例。当然,您需要检查它们(如果它们都是代码正常工作所必需的)仍然在等待响应,函数需要时间,很抱歉延迟。看起来没问题,因为现在没有问题。
$tmp = isset($_POST['tmp']) ? trim($_POST['tmp']) : null;
if(!empty($tmp)){
   echo 'test';
}