欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中$_GET,$_POST,$_REQUEST和$_SERVER的用法

程序员文章站 2022-05-10 18:59:44
...
  1. echo $_GET['xingming']."
    ";
  2. echo $_GET['age']."
    ";
  3. echo $_POST['xingming']."
    ";
  4. echo $_POST['age']."
    ";
  5. ?>
复制代码

$_REQUEST的官方说明: $_REQUEST — HTTP Request 变量默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组。 在不关心是get过来的还是post,总之要取得某一个键的值,就用$_REQUEST即可。 不过$_REQUEST速度会比$_GET,$_POST稍慢点。 通过$_SERVER获取服务器端信息 $_SERVER是一个数组,包含了headers, paths, script locations等多种信息。早期的php版本使用$HTTP_server_VARS数组,现在已经弃用了。 不同的服务器$_SERVER的信息也不一定相同的。通常的用法如下:

  1. echo $_SERVER['SERVER_ADDR'];
  2. echo $_SERVER['QUERY_STRING'];
复制代码

比较常用的获取QUERY_STRING的方法,通过$_SERVER['QUERY_STRING']得到的是诸如name=mike&age=30这样的。要把这种格式的值转成变量,PHP中有个方法parse_str,可以实现这个功能。 官方的示例:

  1. $str = "first=value&arr[]=foo+bar&arr[]=baz";
  2. parse_str($str);
  3. echo $first; // value
  4. echo $arr[0]; // foo bar
  5. echo $arr[1]; // baz
  6. parse_str($str, $output);
  7. echo $output['first']; // value
  8. echo $output['arr'][0]; // foo bar
  9. echo $output['arr'][1]; // baz
  10. ?>
复制代码

在本地环境通过代码:

  1. echo "";
  2. var_dump($_SERVER);
  3. echo "";
复制代码

用带格式的数据打印出数组内容:

array(31) { ["HTTP_ACCEPT"]=> string(3) "*/*" ["HTTP_ACCEPT_LANGUAGE"]=> string(5) "zh-CN" ["HTTP_USER_AGENT"]=> string(205) "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2; Avant Browser)" ["HTTP_ACCEPT_ENCODING"]=> string(13) "gzip, deflate" ["HTTP_HOST"]=> string(14) "localhost:8080" ["HTTP_CONNECTION"]=> string(10) "Keep-Alive" ["HTTP_COOKIE"]=> string(154) "codehilite=IsPre=True&IsShowRowNumber=False&IsUseBR=False&Language=Csharp; iGHA2Cas=key=s8hoPBw6cWYHJ34NowHt%2f77gsEiQ9U9K0dDGPYjwLCFzQbqnNjlYMnUw9OOCF68u" ["PATH"]=> string(540) "C:\Program Files (x86)\ActiveState Komodo IDE 7\;C:\Program Files (x86)\ActiveState Komodo Edit 7\;E:\app\Administrator\product\11.1.0\client_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Microsoft asp.net\ASP.NET Web Pages\v1.0\;d:\php-5.4.4-Win32-VC9-x86\;" ["SystemRoot"]=> string(10) "C:\Windows" ["COMSPEC"]=> string(27) "C:\Windows\system32\cmd.exe" ["PATHEXT"]=> string(53) ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC" ["WINDIR"]=> string(10) "C:\Windows" ["SERVER_SIGNATURE"]=> string(0) "" ["SERVER_SOFTWARE"]=> string(31) "Apache/2.2.22 (Win32) PHP/5.4.4" ["SERVER_NAME"]=> string(9) "localhost" ["SERVER_ADDR"]=> string(9) "127.0.0.1" ["SERVER_PORT"]=> string(4) "8080" ["REMOTE_ADDR"]=> string(9) "127.0.0.1" ["DOCUMENT_ROOT"]=> string(13) "D:/phpwwwroot" ["SERVER_ADMIN"]=> string(11) "dds@wwd.com" ["SCRIPT_FILENAME"]=> string(29) "D:/phpwwwroot/RecJP/test2.php" ["REMOTE_PORT"]=> string(5) "23827" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> string(0) "" ["REQUEST_URI"]=> string(16) "/RecJP/test2.php" ["SCRIPT_NAME"]=> string(16) "/RecJP/test2.php" ["PHP_SELF"]=> string(16) "/RecJP/test2.php" ["REQUEST_TIME_FLOAT"]=> float(1351577790572) ["REQUEST_TIME"]=> int(-1336907668) }