From the official website information, php://input is a read-only information stream. When the request method is post and enctype is not equal to "multipart/form-data", you can use php://input to obtain it. The original requested data.
Look at a simple example.
The client is just a form, very simple.
Submit the form to the server, and the server uses file_get_contents to obtain the php://input content
In the description of php://input on the official website, the variable $HTTP_RAW_POST_DATA is repeatedly mentioned. This variable is actually the same as the content of file_get_contents (php://input). If you want to enable this variable, you need to modify the configuration file, find the option always_populate_raw_post_data, set it to On, and then restart the web server. That's it. Using php://input does not require modifying the php configuration file.
In project applications, such as taking pictures with the camera, uploading and saving, you can use php://input. After the client takes a photo, it sends the image stream to the server. The server uses file_get_getcontents('php://input') to get the image stream, and then saves the image stream to a file. This file is the image.