我已经包含了' https://github.com/guzzle/guzzle/releases/download/5.2.0/guzzle.phar'使用require 'guzzle.phar';
我已经添加了
$client = new Guzzle\Http\Client();
$request = $client->createRequest("POST", <URL>);
$postBody = $request->getBody();
$postBody->addFile(new PostFile('file', fopen('@./images'.$location, 'r')));
$response = $client->send($request);
$body = $response->json();
return $body['id'];
但是我得到了
Error: Call to a member function addFile() on null
造成这种情况的原因是什么?
答案 0 :(得分:0)
要完全理解您的错误,我们必须查看Request::__construct(),AbstractMessage::getBody()和Request::handleOptions()方法的源代码。
正如您所看到的,如果请求是在没有&#39; body&#39;的情况下实例化的。选项,它将被设置为null。因此,当您致电$request->getBody()
时,您会收到NULL
而不是MessageInterface
个实例。