Как и для чего используется php://input?
Данные и так передаются по POST (или GET), но есть нюансы их обработки на стороне сервера.

1. POST и GET данные в виде parameter=value&param2=val2 автоматически обрабатываются сервером и заполняются глобальные массивы $_POST/$_GET/$_REQUEST:
$_POST['parameter'] = value;
$_POST['param2'] = val2;
GET-параметры при этом ещё и автоматически декодируются по urldecode().
Через php://input можно получить "сырые" необработанные данные.

2. Методом POST можно прислать, например, объект JSON, указав 'Content-type: application/json; charset=utf-8'. При этом массив-обёртка $_POST будет пуста, тк не присылается Имя_Параметра, а присылается только Значение_Параметра, и сервер не обрабатывает такие данные автоматически.
Получить такие данные можно только через php://input, так как глобальные массивы $_POST/$_GET будут пустыми.
https://www.php.net/manual/ru/wrappers.php 
https://www.php.net/manual/ru/wrappers.php.php
отвечу сразу и на будущие вопросы)