1
2
3
4
5
6
7
8
9
10
11

用内置数组获取服务器环境信息

发布时间:2017-07-20 08:03   发布人:毛书朋   浏览次数:7369


关联课件:7子项目七 -用内置数组获取服务器环境信息(点击在线预览)


7.3.2  用内置数组获取服务器环境信息

      $_SERVER是一个包含诸如头信息(header)、路径(path)和脚本位置(script locations)的数组。数组的实体由web服务器创建,但是并不能保证所有的服务器都能产生所有的信息;服务器可能忽略了一些信息,或者产生了一些未在表7-1中列出的新的信息。

      $_SERVER是一个“superglobal”,或者可以说是一个自动全局变量。这就意味它在所有的脚本中都有效,而且在函数或方法中不需要使用global $_SERVER,直接访问就可以了。

要想访问$_SERVER中的某一个信息,可以采用下面的方式:

$_SERVER["信息名称"]或$_SERVER['信息名称']

其中具体的信息名称如表7-1所示。

b7-1.1.png

b7-1.2.png

b7-1.3.png

下面来看一个具体的应用实例。

1:  <!--文件7-5.php:服务器信息的获取-->

2:  <HTML>

3:   <HEAD>

4:      <TITLE>服务器信息的获取</TITLE>

5:   </HEAD>

6:       <BODY>

7:           <?php

8:               echo "1、".$_SERVER["PHP_SELF"]."<br>";

9:               echo "2、".$_SERVER["argv"]."<br>";

10:                 echo "3、".$_SERVER["argc"]."<br>";

11:                  echo "4、".$_SERVER["SERVER_NAME"]."<br>";

12:                  echo "5、".$_SERVER["SERVER_SOFTWARE"]."<br>";

13:                  echo "6、".$_SERVER["SERVER_PROTOCOL"]."<br>";

14:                  echo "7、".$_SERVER["REQUEST_METHOD"]."<br>";

15:                 echo "8、".$_SERVER["REQUEST_TIME"]."<br>";

16:                  echo "9、".$_SERVER["QUERY_STRING"]."<br>";

17:                  echo "10、".$_SERVER["DOCUMENT_ROOT"]."<br>";

18:                  echo "11、".$_SERVER["HTTP_ACCEPT"]."<br>";

19:                  echo "12、".$_SERVER["HTTP_ACCEPT_ENCODING"]."<br>";

20:                 echo "13、".$_SERVER["HTTP_ACCEPT_LANGUAGE"]."<br>";

21:                  echo "14、".$_SERVER["HTTP_CONNECTION"]."<br>";

22:                  echo "15、".$_SERVER["HTTP_HOST"]."<br>";

23:                  echo "16、".$_SERVER["HTTP_USER_AGENT"]."<br>";

24:                  echo "17、".$_SERVER["HTTPS"]."<br>";

25:                  echo "18、".$_SERVER["REMOTE_ADDR"]."<br>";

26:                  echo "19、".$_SERVER["REMOTE_HOST"]."<br>";

27:                  echo "20、".$_SERVER["SCRIPT_FILENAME"]."<br>";

28:                 echo "21、".$_SERVER["SERVER_PORT"]."<br>";

29:                  echo "22、".$_SERVER["PATH_TRANSLATED"]."<br>";

30:                 echo "23、".$_SERVER["SCRIPT_NAME"]."<br>";

31:                 echo "24、".$_SERVER["REQUEST_URI"]."<br>";

32:          ?>

33:       </BODY>

34:  </HTML>

      直接在浏览器的地址栏中输入“https://localhost/phpsource/chapt05/7-5.php”时,其运行效果如图7-5(a)所示,在浏览器的地址栏中输入“https://localhost/phpsource/chapt05/ 7-5.php?id=6”时其运行效果如图7-5(b)所示。同样在浏览器的地址栏中输入“https:// 127.0.0.1/phpsource/chapt05/7-5.php”和“https:// 127.0.0.1/phpsource/chapt05/7-5.php? id=6”时又会得到不完全相同的运行效果。从图7-5(a)和图7-5(b)所示的结果进行分析,可以看出不同的服务器的信息有的时候输出效果是一样的,如图7-6(a)中的23行和24行;有的服务器信息在某些时候是没有输出值的,而当地址栏信息发生变换时就有了输出值,如第9行。

7-6.1.jpg

7-6.2.jpg

图7-6  程序7-5.php的运行结果


  • 姜瑞祥 2018-01-07 17:30:59
    $_SERVER是PHP中十分实用的超全局变量,在开发可移植的网站的时候会变得很有用。
  • 姜瑞祥 2018-01-07 17:31:25
     1.$_SERVER['SERVER_NAME']:记录了网站的域名。   2.$_SERVER['DOCUMENT_ROOT']:网站的根目录(就是在你系统下的绝对路径,在windows都是例如是C://wamp/www之类的,linux例如是/var/www/html)。   3.$_SERVER['SERVER_ADDR']:记录网站的IP地址   4.$_SERVER['REMOTE_ADDR']:记录访问者的IP地址   5.$_SERVER['SCRIPT_FILENAME']:访问的文件的路径   6.$_SERVER['REQUEST_SCHEME']:访问的文件的方式,常见为http