我怎么能检测到哪个请求类型被使用(GET, POST, PUT或删除)在PHP?


当前回答

您可以获得任何查询字符串数据,例如www.example.com?id=2&name=r

您必须使用$_GET['id']或$_REQUEST['id']获取数据。

Post数据意味着像form <form action= " method=' Post '>你必须使用$_POST或$_REQUEST。

其他回答

$request = new \Zend\Http\PhpEnvironment\Request();
$httpMethod = $request->getMethod();

通过这种方式,您也可以在zend框架2中实现。 谢谢。

通过使用

$_SERVER['REQUEST_METHOD']

例子

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
     // The request is using the POST method
}

要了解更多细节,请参阅$_SERVER变量的文档。

在core php中,你可以这样做:

<?php

$method = $_SERVER['REQUEST_METHOD'];

switch ($method) {
  case 'GET':
    //Here Handle GET Request
    echo 'You are using '.$method.' Method';
    break;
  case 'POST':
    //Here Handle POST Request
    echo 'You are using '.$method.' Method';
    break;
  case 'PUT':
    //Here Handle PUT Request
    echo 'You are using '.$method.' Method';
    break;
  case 'PATCH':
    //Here Handle PATCH Request
    echo 'You are using '.$method.' Method';
    break;
  case 'DELETE':
    //Here Handle DELETE Request
    echo 'You are using '.$method.' Method';
    break;
  case 'COPY':
      //Here Handle COPY Request
      echo 'You are using '.$method.' Method';
      break;

  case 'OPTIONS':
      //Here Handle OPTIONS Request
      echo 'You are using '.$method.' Method';
      break;
  case 'LINK':
      //Here Handle LINK Request
      echo 'You are using '.$method.' Method';
      break;
  case 'UNLINK':
      //Here Handle UNLINK Request
      echo 'You are using '.$method.' Method';
      break;
  case 'PURGE':
      //Here Handle PURGE Request
      echo 'You are using '.$method.' Method';
      break;
  case 'LOCK':
      //Here Handle LOCK Request
      echo 'You are using '.$method.' Method';
      break;
  case 'UNLOCK':
      //Here Handle UNLOCK Request
      echo 'You are using '.$method.' Method';
      break;
  case 'PROPFIND':
      //Here Handle PROPFIND Request
      echo 'You are using '.$method.' Method';
      break;
  case 'VIEW':
      //Here Handle VIEW Request
      echo 'You are using '.$method.' Method';
      break;
  Default:
    echo 'You are using '.$method.' Method';
  break;
}


?>

你可以使用getenv函数,而不必使用$_SERVER变量:

getenv('REQUEST_METHOD');

更多信息:

http://php.net/manual/en/function.getenv.php

您可以获得任何查询字符串数据,例如www.example.com?id=2&name=r

您必须使用$_GET['id']或$_REQUEST['id']获取数据。

Post数据意味着像form <form action= " method=' Post '>你必须使用$_POST或$_REQUEST。