Как проверить, установлен ли вход php: //?

Мне нужно проверить, существует ли php://input / isset. Работает ли он с php isset() ? Каков правильный способ проверить это?

    Попробуйте протестировать его с помощью file_get_contents() (для чтения) + empty() или boolean conversion (для тестирования):

     <?php $input = file_get_contents('php://input'); if ($input) { // exists } else { // not exists } 

    От php.net :

    Поток, открытый с помощью ввода php: //, может быть прочитан только один раз; поток не поддерживает операции поиска. Однако, в зависимости от реализации SAPI, может быть возможно открыть другой поток ввода php: // и перезапустить чтение. Это возможно только в том случае, если данные тела запроса сохранены. Как правило, это относится к запросам POST, но не к другим методам запроса, таким как PUT или PROPFIND.

    Вы можете получить содержимое php://input с помощью file_get_contents и проверить возвращаемое значение, чтобы увидеть, действительно ли оно установлено:

     $input = file_get_contents("php://input"); if ($input) { // set } else { // not set } 

    он возвращает true, если существует переменная, и ее значение не равно нулю

     $foo = 'bar'; var_dump(isset($foo)); -> true $baz = null; var_dump(isset($baz)); -> false var_dump(isset($undefined)); -> false 

    Предположим, вы получаете пользовательский ввод из запроса POST, который вы можете проверить, установлен ли этот набор таким образом

      if(isset($_POST['var_name'])) { //for additional checking like if it's not empty do this if(!empty($_POST['var_name'])) { //Do whatever you want here } }