Файл POST и переменная для URL-адреса с cURL? (или другой?) - PullRequest
0 голосов
/ 07 мая 2020
• 1000 xml '

Мне в основном нужно переместить файл и одну переменную через POST на URL-адрес.

"fileData" = "processing / file11. xml"

"packageName" = "Что угодно"

Я пробовал, не знаю, сколько версий этого, но вот последняя: (По какой-то причине я тоже не могу включить подробное ведение журнала)

$username='bob';
$password='BobsPassword';
$data = "Whatever";
$fileData = "processed/file11.xml";  //xml file.
$alldata = array("packageName" => $data,"fileData" => $fileData);
$url='http://xx.xxx.xx.xxx/johnson/api/am/packages/production';

 $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
    curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $alldata);                                 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);

    curl_close($ch);

Я запускал операторы печати ранее, и похоже, что в curl_exe c? Возможно? Для меня не имеет смысла почему.

Это внутренний рабочий сервер, php работает нормально, и я убедился, что cURL включен. PHP версия 7.4.5 с cURL 7.69.1

Нужна помощь перед прыжком! lol

Заранее спасибо. Я не замужем за cURL, поэтому, если я могу сделать это с родным PHP .. Я полностью за. Я использовал javascript XMLHttpRequest, но теперь у меня не будет работать с другими вещами в PHP.

1 Ответ

0 голосов
/ 07 мая 2020

В https://www.php.net/manual/en/function.curl-setopt.php мы можем прочитать, что любой файл, отправленный с CURLOPT_POSTFIELDS, должен быть обозначен своим «полным путем», например: «/home/user/test.png".

Ваш XML путь к файлу является относительным. Это может быть причиной вашей проблемы.

С уважением.

...