Добрый день!
Необходимо отправить файл на удаленный сервер запросом вида:
PUT /<context-path>/<upload-context> HTTP/1.1
Host: host
Date: date
Content-Length: size
Content-MD5: hash
X-Upload-Dataprovider: GUID
X-Upload-Filename: filename
<file data>
Гугл говорит использовать cURL, но как костамизировать запрос именно такого вида ума не приложу.
Пробовал использовать сокеты:
$content = 'PUT /ext-bus-file-store-service/rest/homemanagement HTTP/1.1' . "\n"
. 'Host: XXX' . "\n"
. 'Date:'.date('c')."\n"
. 'Content-Length: ' . $file['size'] . "\n"
. 'Content-MD5: ' . $file['hash'] . "\n"
. 'X-Upload-Dataprovider: XXXXXXXXXXXX'. "\n"
. 'X-Upload-Filename: ' . $file['fileName'] . "\n"
. $file['file_content'];
$errno = 0;
$errstr = '';
$responce = '';
if(!($socket = fsockopen('ХХХХХХ', 00000, $errno, $errstr, 15))) {
die('FAIL!');
}
fwrite($socket, $content);
while (!feof($socket)) {
$responce .= fgets($socket, 128);
}
fclose($socket);
Но в
$responce
пустота...
Подскажите как выполнить данный запрос?