我已经呆了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中的其他功能一起使用。
在https://www.php.net/manual/en/function.curl-setopt.php,我们可以看到,任何以CURLOPT_POSTFIELDS
发布的文件都必须由其“完整路径”指定,例如“ /home/user/test.png”。
您的XML文件路径是相对的。这可能是您遇到问题的原因。
问候