PHP PEAR HTTP PUT - PullRequest
       31

PHP PEAR HTTP PUT

0 голосов
/ 15 февраля 2011

У меня проблемы с 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.

Кто-нибудь знает, что я могу сделать, чтобы заставить код работать? Спасибо в ожидании!

1 Ответ

0 голосов
/ 15 февраля 2011

Используйте setBody( string $body) вместо addFile.

Устанавливает тело запроса (для POST, PUT и аналогичные запросы)

...