【问题标题】:POST file and variable to URL with cURL ? (or other?)使用 cURL 将文件和变量发布到 URL ? (或其他?)
【发布时间】:2020-05-07 00:03:38
【问题描述】:

我已经在这里工作了 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 w/cURL 7.69.1

在我跳之前需要帮助!哈哈

提前致谢。我没有嫁给 cURL,所以如果我能用原生 PHP 做到这一点.. 我完全赞成。我使用的是 javascript XMLHttpRequest,但现在不适用于 PHP 中的其他东西。

【问题讨论】:

    标签: php curl post php-curl


    【解决方案1】:

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

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

    问候。

    【讨论】:

      猜你喜欢
      • 2011-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      • 2021-12-01
      • 2021-08-16
      • 1970-01-01
      相关资源
      最近更新 更多