我正在编写 PHP 代码以使用带有 encType: multipart/form-data 编码的 HTTP post 将 XML 字符串数据发送到站点。我正在考虑使用 PHP 的 http_post_data 函数。在发送数据之前,我相信我需要对其进行编码,但是我看不到 PHP 函数可以为我执行此操作,我也不知道如何自己编写这样的函数。
这是我到目前为止所拥有的(但 http_request_body_encode() 肯定不是正确的功能):
$options = array('headers' => array('Content-Type' => 'multipart/form-data'));
$fields = array('operation' =>'doMDUpload', 'login_id' => $doi_username, 'login_passwd' => $doi_password,
'area' => ($debug ? "test" : "live"), 'fname' => $writer->outputMemory());
$info = array();
$response = http_post_data($crossref_deposit_url, http_request_body_encode($fields, array()), $options, $info);
$writer->outputMemory
是一个包含文献计量数据的 XML 字符串。