Сначала я должен сказать, что я новичок в 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, работала?
Большое спасибо за вашу помощь!