¿Cómo puedo ENVIAR un archivo a un servidor REST sin escribir el archivo en el disco con PHP?

Estoy intentando enviar un archivo XML a un servidor como parte del método POST para una API interna.

Toda la documentación de PHP apunta a usar $ postVars [‘file’] = ‘@ / path / to / file.xml’ para enviar el archivo.

Deseo enviar el archivo desde una cadena, pero aún debe enviarse como una carga de archivo, no como una cadena.

¿Ayuda?

Echa un vistazo a este hilo que trata sobre lo que quieres hacer Creo: http://www.webmasterworld.com/php/3164561.htm

La última entrada puede ser de ayuda (formateada por mí):

function do_post_request($url, $data, $optional_headers = null) { $params = array('http' => array( 'method' => 'post', 'content' => $data )); if ($optional_headers!== null) $params['http']['header'] = $optional_headers; $ctx = stream_context_create($params); $fp = @fopen($url, 'rb', false, $ctx); if (!$fp) throw new Exception("Problem with $url, $php_errormsg"); $response = @stream_get_contents($fp); if ($response === false) throw new Exception("Problem reading data from $url, $php_errormsg"); return $response; } 

Básicamente, la solución es hacer uso de la gestión de flujo de php incorporado para urls.