1
2
3
4
5
6
7
8
9
10
11

用内置數組獲取服務器環境信息

發(fā)布時間:2017-07-20 08:03   發(fā)布人:毛書朋   浏覽次數:7016


關聯課件:7子項目七 -用内置數組獲取服務器環境信息(點擊在線預覽)


7.3.2  用内置數組獲取服務器環境信息

      $_SERVER是一個包含諸如頭信息(header)、路徑(path)和腳本位置(script locations)的數組。數組的實體由web服務器創建,但是并不能(néng)保證所有的服務器都(dōu)能(néng)産生所有的信息;服務器可能(néng)忽略了一些信息,或者産生了一些未在表7-1中列出的新的信息。

      $_SERVER是一個“superglobal”,或者可以說是一個自動全局變量。這(zhè)就意味它在所有的腳本中都(dōu)有效,而且在函數或方法中不需要使用global $_SERVER,直接訪問就可以了。

要想訪問$_SERVER中的某一個信息,可以采用下面(miàn)的方式:

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

其中具體的信息名稱如表7-1所示。

b7-1.1.png

b7-1.2.png

b7-1.3.png

下面(miàn)來看一個具體的應用實例。

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)所示的結果進(jìn)行分析,可以看出不同的服務器的信息有的時候輸出效果是一樣的,如圖7-6(a)中的23行和24行;有的服務器信息在某些時候是沒(méi)有輸出值的,而當地址欄信息發(fā)生變換時就有了輸出值,如第9行。

7-6.1.jpg

7-6.2.jpg

圖7-6  程序7-5.php的運行結果


  • 姜瑞祥 2018-01-07 17:30:59
    $_SERVER是PHP中十分實用的超全局變量,在開(kāi)發(fā)可移植的網站的時候會變得很有用。
  • 姜瑞祥 2018-01-07 17:31:25
     1.$_SERVER['SERVER_NAME']:記錄了網站的域名。   2.$_SERVER['DOCUMENT_ROOT']:網站的根目錄(就是在你系統下的絕對(duì)路徑,在windows都(dōu)是例如是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