Я пишу PHP-код для отправки строковых данных XML на сайт с использованием HTTP-сообщения с кодировкой encType: multipart/form-data. Я думаю об использовании функции 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, содержащая библиометрические данные.