かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

生PHPで application/jsonで送られたデータを取得したい

Content-Type application/json で送られてくるデータを生 PHP で取得する場合のメモ
フレームワーク使ってたら、この方法を使うことは無さそうだけど、メモとして…

こんな感じのフロントから送られるデータを扱いたい

const data = {
  email: 'example@example.com',
  password: 'password',
}
await axios.post(API, data, {
  headers: {
    'Content-Type': 'application/json',
  },
});

Content-Type: application/json で送られたデータは $_POST では上手く取得できません。

PHPjson で送られたデータを取得するには file_get_contents('php://input') を使う

file_get_contents('php://input')JSON データを取得してjson_decode連想配列形式にして送られたデータを取得する

<?php
$json = file_get_contents('php://input');
$params = json_decode($json, true);
$email = $params['email']; // => "example@example.com"
$password = $params['password']; // => "password"

₍ ᐢ. ̫ .ᐢ ₎👌  
おわり


[参考]

Laravel: Up & Running: A Framework for Building Modern PHP Apps

Laravel: Up & Running: A Framework for Building Modern PHP Apps

  • 作者:Stauffer, Matt
  • 発売日: 2019/04/23
  • メディア: ペーパーバック

PHPフレームワーク Laravel入門

PHPフレームワーク Laravel入門