private function doPostMultipartFormData($url, $authorization, $paths, $data) { $boundary = Text::uuid(); $body = "--{$boundary}\r\n"; foreach ($data as $key => $value) { $body .= "Content-Disposition: form-data; name=\"{$key}\"\r\n"; $body .= "\r\n"; $body .= "{$value}\r\n"; $body .= "--{$boundary}\r\n"; } foreach ($paths as $key => $path) { $body .= "Content-Disposition: form-data; name=\"{$key}\"; filename=\"{$path}\"\r\n"; $body .= "\r\n"; $body .= file_get_contents($path) . "\r\n"; $body .= "--{$boundary}--\r\n"; } $socket = new Client(); $result = $socket->request(array('method' => 'POST', 'uri' => $url, 'header' => array('Authorization' => $authorization, 'Content-Type' => "multipart/form-data; boundary={$boundary}"), 'body' => $body)); $this->fullResponse = $result; return $result; }