Enviando um arquivo via HTTP PUT em PHP

Eu tenho lutado por várias horas tentando descobrir como conseguir esse trabalho. Estou tentando enviar um arquivo via HTTP-PUT para um eXist db. Existe autenticação de usuário para o servidor, então eu estava tentando fazer algo assim:

Eu tenho a URL onde o doc deve ser colocado para Eu tenho o nome de usuário e senha para o eXist DB Eu tenho o conteúdo que precisa ser enviado através do PUT

Eu tentei começar a trabalhar com cURL, mas iria falhar silenciosamente eu tentei usar streams PHP, mas continuei recebendo "erro 201 / criado", mas nenhum arquivo foi realmente criado.

Qualquer ajuda com isso seria muito apreciado.

Aqui está um exemplo de código que eu tentei usando streams PHP

        $data = file_get_contents($tmpFile);                                                                                                    
         $header = array(
             "Authorization: Basic " . base64_encode($this->ci->config->item('ws_login') . ':' . $this->ci->config->item('ws_passwd')),
             "Content-Type: text/xml"
         );  
         $params = array(
             'http' => array(
                 'method' => 'PUT',
                 'header' => $header,
                 'content' => $data));
         $ctx = stream_context_create($params);

         $response = file_get_contents($url, false, $ctx);

questionAnswers(5)

yourAnswerToTheQuestion