застрял - загрузка через Curl бинарный вариант данных - PullRequest
0 голосов
/ 25 ноября 2018

Сначала я должен сказать, что я новичок в CURL.Но я просто написал несколько строк с помощью curl и PHP, чтобы загрузить некоторые XML-файлы.Следующий код работает очень хорошо.(просто огляделся и создал простое рабочее решение)

Теперь у меня возникла проблема с использованием опции curl --Data-Binary вместо опции -F (Form).

Следующий код находится в php-файле (curlupload.php):

<?php

@$authcode = htmlspecialchars($_POST["acode"]);

if ($authcode == "1234"){
echo "AuthCode ok\n";

$upstatus = "1";
$uploadpath = "files/";
$filedata = $_FILES['file']['tmp_name'];
$target_file = $uploadpath . basename($_FILES["file"]["name"]);

#echo "Acode:" . $authcode . "\n";
#echo "filedata= ".$filedata."\n";
echo "target_file= ".$target_file."\n";
#echo "1 upstatus= ".$upstatus."\n";

if (strpos($target_file, ".xml") == true) {
    $upstatus = "1";
    echo "2 upstatus= ".$upstatus."\n";

    if (file_exists($target_file)) {
        echo "Sorry, file already exists.\n";
        $upstatus = "0";
    }

    #echo "4 upstatus= ".$upstatus."\n";
    if ($upstatus == "1") { 
        if ($filedata != '')
        copy($filedata,$target_file);
        echo "\n-----\n";
        echo "success\n";
    }

}else{
    $upstatus = "0";
    #echo "3 upstatus= ".$upstatus."\n";
    echo "Filenamecheck Failed.\n";
}



if ($upstatus == "0") {
    echo "Sorry, your file was not uploaded.\n";
} 
 }else{
  echo "NO.";
}
?>

Моя команда cURL для загрузки файла выглядит следующим образом:

curl -v -F 'file=@/root/testfile01.xml' -F 'acode=1234' http://webserver/upload2/curlupload.php

Теперь я идучтобы использовать опции -d и --data-binary, например, так:

curl --data-binary "file=@testfile02.xml" --data "acode=1234" http://webserver/upload2/curluploadtest.php

со второй командой, приведенной выше, я получаю следующие сообщения:

AuthCode ok
target_file= files/
Filenamecheck Failed.
Sorry, your file was not uploaded.

, поэтому переменные не получиливход - Может кто-нибудь сказать мне, пожалуйста, что я должен изменить в файле PHP, чтобы опция базы данных, используемая curl, работала?

Большое спасибо за вашу помощь!

...