1
Вот содержание response.txt
:Как издеваться над ответом из файла, используя Guzzle 6?
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 15 Feb 2016 18:25:28 GMT
Content-Type: application/json;charset=utf-8
{
"field1": "a",
"field2": "b",
}
Я пробовал:
$stream = Psr7\stream_for(file_get_contents('response.txt'));
$response = new Response(200, ['Content-Type' => 'application/json'], $stream);
dd($response->getBody());
Какой выход:
object(GuzzleHttp\Psr7\Stream)#3 (7) {
["stream":"GuzzleHttp\Psr7\Stream":private]=>
resource(26) of type (stream)
["size":"GuzzleHttp\Psr7\Stream":private]=>
NULL
["seekable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["readable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["writable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["uri":"GuzzleHttp\Psr7\Stream":private]=>
string(10) "php://temp"
["customMetadata":"GuzzleHttp\Psr7\Stream":private]=>
array(0) {
}
}
Так что я не могу получить содержимое JSON в response.txt
, как это сделать что? То, что я хочу получить, это что-то вроде:
array('field1'=>'a','field2'=>'b');
На самом деле я использовал '$ response-> getBody() -> getContent()', чтобы решить мою проблему – Phoenix
getContents только возвращает остаток на поток. Если вы хотите безопасно получить все тело, вы должны передать его в строку. –