關聯課件:7子項目七 -用内置數組獲取服務器環境信息(點擊在線預覽)
7.3.2 用内置數組獲取服務器環境信息相道
$_SERV校笑ER是一個包含諸如頭信息(header)、路徑(path)和腳本位置(scri坐到pt locations)的數組。數組的實體由web服刀件務器創建,但是并不能(néng)保證所有的服務器都(dōu錯北)能(néng)産生所有的信息;服務器可能(né女音ng)忽略了一些信息,或者産生了一些未在表7-1中列出的著動新的信息。
&跳對nbsp; $_SERVER是一個“superglobal”,明聽或者可以說(shuō)是一個自動全局變量。這(zhè)不照就(jiù)意味它在所有的腳本中都(dōu)有效,而且在函工呢數或方法中不需要使用global $弟頻_SERVER,直接訪問就(jiù)可以小資了。
要想訪問$_SERVER中的某一個信息,可以采用下面(miàn)的方式:
$_SERVER["信息文友名稱"]或$_SERVER['信息名明村稱']
其中具體的信息名稱如表7-1所示。
下面(miàn)來看一個具體的應用實例。
1: <!--文件行動7-5.php:服務器信息的獲取-->
2: <HTML>
3: <藍技HEAD>
4: <火拿TITLE>服務器信息的獲取</TITLE>
5: </HEAD&她得gt;
6: &又吃nbsp;<BODY>
7:  們一; <?php
8: 關新  學樂; 些舞 echo "1、".$_SERVER[&q區船uot;PHP_SELF"]."<br&玩火gt;";
9: &技術nbsp; &nb少學sp; &n分可bsp;echo "2、".$醫媽_SERVER["argv"拿習]."<br>";
10: &nb光生sp; &nbs去是p; &nb雨著sp; echo &q火們uot;3、".$_SERVER["argc&quo廠事t;]."<br>";
11: &nbs雨間p; &信村nbsp; 睡城 &nbs湖國p;echo "4、".$_SE又風RVER["SERVER_NAME"].&qu計購ot;<br>";白到
12: 區相  我學; &nb呢司sp; &nb街著sp;echo "5、".$_SERVE議鐵R["SERVER_SOFTWARE"].&quo報內t;<br>";
13: &nb紙呢sp; 開樂 場明 echo &q多友uot;6、".$_SERVER["SERVE什開R_PROTOCOL"].間你"<br>";
14: &nb好們sp; &nb看票sp; 話都 echo "7、".$_SERVER[&quo秒答t;REQUEST_METHOD"]."&l體區t;br>";
15: &服身nbsp; 和空 &麗妹nbsp;echo "8、".$_放村SERVER["REQUEST_TIME"]吧愛."<br>";
16: &照媽nbsp;  街小;  來亮; echo "9、&quo歌報t;.$_SERVER["QUERY_STRING"].&志音quot;<br>";
17: 理公 &nbs跳得p;  睡美; echo &睡業quot;10、".$_SERVER["也資DOCUMENT_ROOT"]."<br>北刀;";
18: &n海什bsp; &n金唱bsp;  子懂; echo "11、".$舞裡_SERVER["HTTP_ACCEPT&q事坐uot;]."<br>";用線
19: &n睡呢bsp; &n現秒bsp; ech的花o "12、".$_SERVER["HTTP_A去東CCEPT_ENCODING"]."<br>坐員";
20: &nb照唱sp; &nbs音上p; &電水nbsp; echo "鐵身;13、".$_SERVER["HTTP_ACCE個科PT_LANGUAGE"]."<錯金;br>";
21: &n章關bsp; 東票 &n物高bsp; echo "14、"暗到;.$_SERVER["HTT呢爸P_CONNECTION"]."<br>唱姐";
22: &n通分bsp; &n林花bsp; &nbs睡志p; echo師弟 "15、".$_SERVER["HTTP_H土會OST"]."<br>&區化quot;;
23: &報事nbsp; 湖玩  空著;  動但;echo "16、".$_SERVER[到下"HTTP_USER_AGENT"].資光"<br>";
24: &nbs放就p; &n很討bsp; &nb很知sp; &n嗎廠bsp;echo "17、".$_SE雪去RVER["HTTPS"]."花黑;<br>";遠術
25: &nbs友行p; &nbs些鐘p; 北紅 echo "18間還、".$_SERVER["REMOTE_ADDR"拿話;]."<br>";東開
26: &鐵媽nbsp;  吧秒; 鐵河echo "19、".水木$_SERVER["REMOTE_HOST"].&刀間quot;<br>&qu爸化ot;;
27: &nb媽玩sp; 海水 echo &電小quot;20、".$_SERVER["見花SCRIPT_FILENAME&q東有uot;]."<br>風服;";
28: &n街內bsp; &n跳朋bsp; &n下地bsp;echo "21、".$_SERVER[雜讀"SERVER_PORT"].&q暗爸uot;<br>"月了;;
29:  廠雜; 好計 &nb慢線sp; echo "22、&q紅開uot;.$_SERVER["PATH_TRANSLATED&睡知quot;]."<br>"分習;
30: &nbs鐵有p; &nb子員sp; &n國訊bsp; echo "議會23、".$_SER計問VER["SCRIP爸制T_NAME"].&紅現quot;<br>"答頻;;
31: &nb要線sp; 農如 &城朋nbsp; &微計nbsp; echo "24、".$_SERVER[這輛"REQUEST_URI"]."窗答;<br>";
32: &n唱黃bsp; &nbs看算p; ?>
33:  服拿; </BODY>
34: </HTML>
直接在見妹浏覽器的地址欄中輸入“https://localhost/phpsour車但ce/chapt05/7-5.php”時黃說(shí),其運行效果如圖7-5(a)所示,在浏覽器的地址欄中輸入“http國離s://localhost/ph爸水psource/chapt05/ 7報朋-5.php?id=6”時(shí跳算)其運行效果如圖7-5(b)所示。事劇同樣(yàng)在浏覽器的地址欄中輸入“https:相老// 127.0.0.1/phpsour森都ce/chapt05/7-5.php”和“htt頻資ps:// 127.0.0.1/phpsource/chapt05/7-地自5.php? id=6”時(shí)又會(hu校可ì)得到不完全相同的運行效果。從圖7-5(a)和圖7-5(b)所示計鄉的結果進(jìn)行分析,可以看出不同的服務器的信息有一些的時(shí)候輸出效果是一樣(yà店就ng)的,如圖7-6(a)中的23行和24行;有的服務器信息在某些時(shí)從裡候是沒(méi)有輸出值的,而當地址欄信息發(人議fā)生變換時(shí)就(jiù)有了輸出值,如第通算9行。
圖7-6 程序7-5.php的運行結果和算
$_SERVER是PHP中十分實用的超全局變量,在開(kā說林i)發(fā)可移植的網站的時(shí)有算候會(huì)變得很有用。
1.$_SERVER['SERVER_NAM快有E']:記錄了網站的域名。 2.$_SERVER[現票'DOCUMENT_ROOT']:網站的根目錄書不(就(jiù)是在你系統下的絕對(duì呢土)路徑,在windows都(d鐘到ōu)是例如是C://wamp/www之類的,li快話nux例如是/var/www/html)。 哥低 3.$_SERVER['SERVER_ADDR街大']:記錄網站的IP地址 裡電 4.$_SERVER['REMOTE_ADDR']:就妹記錄訪問者的IP地址 5.$_SERVER['SCR友哥IPT_FILENAME']:訪問的文件的路徑 知門 6.$_SERVER['REQUEST_S家員CHEME']:訪問的文件的方式,常見爲http