0

我遇到了 PHP PEAR 和 HTTP PUT 的问题。我想创建一个 HTTP PUT 请求并附加一个文件并将其发送到 REST 服务。这是我当前的代码:

require_once ('includes/HTTP_Request/Request.php');

$url            = 'http://myurl.com/';
$req =& new HTTP_Request();
$req->setMethod(HTTP_REQUEST_METHOD_PUT);
$req->setURL($url);
$req->addHeader('Content-type', 'multipart/form-data');
$tmp_file = 'temp.rdf';
$result = $req->addFile('metadata', $tmp_file, 'text/xml');
if (PEAR::isError($result))
{
    echo $result->getMessage();
}

$response = $req->sendRequest();

if (PEAR::isError($response)) {
        echo $response->getMessage();
} else {
        echo $req->getResponseBody();
}

这段代码应该可以正常工作,但显然不能。我总是得到 REST 存储库的响应,即标头不包含 multipart/form-data。

有谁知道我可以做些什么来让代码工作?感谢期待!

4

1 回答 1

0

使用setBody( string $body)而不是 addFile。

设置请求正文(用于 POST、PUT 和类似请求)

于 2011-02-15T13:55:51.467 回答