POST文件和带有cURL的URL变量? (或其他?)

问题描述 投票:0回答:1

我已经呆了8个小时,无法正常工作。

我在服务器上有一个文件(在启用PHP的情况下运行IIS 8.5),可以在'processed / file11.xml'中进行访问

我基本上需要通过POST将文件和单个变量移动到URL。

“ fileData” =“已处理/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);

我之前运行过print语句,它似乎在curl_exec上出错了?可能吗?对我来说,为什么没有道理。

这是一个内部工作服务器,并且php工作正常,并且我已经验证了cURL已启用。 PHP版本7.4.5,带有cURL 7.69.1]

我跳之前需要帮助!哈哈

谢谢。我还没有嫁给cURL,所以如果我可以使用本地PHP来做到这一点。我全力以赴。我使用的是JavaScript XMLHttpRequest,但现在无法与PHP中的其他功能一起使用。

php curl post php-curl
1个回答
0
投票

https://www.php.net/manual/en/function.curl-setopt.php,我们可以看到,任何以CURLOPT_POSTFIELDS发布的文件都必须由其“完整路径”指定,例如“ /home/user/test.png”。

您的XML文件路径是相对的。这可能是您遇到问题的原因。

问候

© www.soinside.com 2019 - 2024. All rights reserved.