#php #arrays #json #laravel
#php #массивы #json #laravel
Вопрос:
Я отправляю данные с помощью HTTP-клиента Laravel в практический PHP API. мой код Laravel:
$p = 'img.jpg';
$path = storage_path('app' . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . $p);
$response = Http::attach('new_file', file_get_contents($path), 'new_file.jpg')->post('http://localhost/imageresizer/service.php',
['sizes[0][new_width]' => 400, 'sizes[0][new_height]' => 200, 'sizes[1][new_width]' => 300, 'sizes[1][new_height]' => 500]);
$json = json_decode($response);
dd($json);
и у меня есть это в моих php-скриптах:
$response = [
'status' => http_response_code(),
'zip name' => basename($zipname),
'link' => 'http://localhost/imageresizer/zip/' . basename($zipname)
];
header("Content-Type: application/json");
echo json_encode($response);
Я хочу получить доступ к каждому значению из ключей $response в моем PHP API, но у меня не получается. Как я могу это сделать? (текущий результат для dd($json);
равен null). Я хочу сделать что-то вроде $json->$response['status'];
в моем приложении Laravel.
Ответ №1:
Вы должны использовать response()
функцию для отправки запрошенных данных;
return response()->json(['data' => $dataToBeSent], 200);
Вы можете использовать приведенный выше код в конце этой функции.
Вы можете увидеть полную информацию в этом официальном документе