資源描述:
《第10章用php獲取系統(tǒng)信息》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、零基礎(chǔ)學(xué) PHP第10章用PHP獲取系統(tǒng)信息獲取系統(tǒng)信息不僅是對系統(tǒng)當(dāng)前狀況的一個了解,有時對于調(diào)試PHP程序也很有幫助。在有的PHP程序中,需要向用戶告知系統(tǒng)當(dāng)前的配置情況,或者用戶想了解系統(tǒng)環(huán)境變量的時候,都需要PHP提供一些函數(shù)來獲取和PHP有關(guān)的系統(tǒng)信息、環(huán)境變量、PHP配置信息等。本章介紹和這些內(nèi)容有關(guān)的函數(shù)及其用法。10.1獲取和添加PHP環(huán)境變量簡單地說,環(huán)境變量就是程序或系統(tǒng)運行需要的一些配置參數(shù)或一些具體的變量,環(huán)境變量可以幫助系統(tǒng)維護當(dāng)前運行環(huán)境,或者控制程序的行為,甚至影響程序的執(zhí)行及執(zhí)行結(jié)果。PHP中,可以通過函數(shù)
2、getenv()獲取一個PHP環(huán)境變量的值,該函數(shù)的語法如下所示。stringgetenv(string$var);該函數(shù)返回環(huán)境變量$var的值,如果發(fā)生錯誤,函數(shù)返回FALSE。代碼10-1演示了如何使用該函數(shù)獲取系統(tǒng)環(huán)境變量。代碼10-1使用函數(shù)getenv()獲取環(huán)境變量(10-1.php)
3、method=getenv('REQUEST_METHOD');$protocol=getenv('SERVER_PROTOCOL');echo"通過函數(shù)getenv()獲取環(huán)境變量
";echo"
服務(wù)器文檔根目錄:".$root;echo"
";echo"
";echo"
服務(wù)器端口:".$port;echo"
";echo"
";echo"
當(dāng)前執(zhí)行文件:".$file;echo"
";echo"
";echo"
用戶UA:<4、/b>".$ua;echo"
";勵志照亮人生 編程改變命運190第10章用PHP獲取系統(tǒng)信息echo"
";echo"請求方法:".$method;echo"
";echo"
";echo"傳輸協(xié)議:".$protocol;?>這段代碼通過函數(shù)getenv()獲取一些環(huán)境變量,并將這些環(huán)境變量的值輸出到頁面。代碼10-1的執(zhí)行結(jié)果如圖10.1所示。圖10.1獲取環(huán)境變量的值環(huán)境變量也可以通過全局預(yù)定義變量$_SERVER來獲取,預(yù)定義變量$_SERVER的用法在第2章介紹過。例
5、如,通過$_SERVER['DOCUMENT_ROOT']可以獲取服務(wù)器的文檔根目錄。在使用函數(shù)getenv()獲取環(huán)境變量時,即傳給函數(shù)getenv()的參數(shù)字符串的兩頭不能存在空格,注意否則將得不到預(yù)期的結(jié)果。例如,代碼getenv('SERVER_PORT')就無法得到服務(wù)器端口的值,因為SERVER_PORT后有一個空白字符。函數(shù)putenv可以添加一個環(huán)境變量并且為其賦值,該函數(shù)的語法如下所示。boolputenv(string$env_setting);參數(shù)$env_setting是要添加的環(huán)境變量,它是由環(huán)境變量的名稱和值組
6、成的字符串,如果設(shè)置成功,函數(shù)返回TRUE,否則返回FALSE。如下面的一小段代碼所示,向系統(tǒng)添加一個環(huán)境變量MY_ENV,并將其值設(shè)定為newenv。$env_var=newenv;putenv("MY_ENV=$env_var");勵志照亮人生 編程改變命運191零基礎(chǔ)學(xué) PHP10.2查看被載入的PHP擴展模塊PHP安裝時有的擴展模塊被裝載,有的沒有被裝載,可以通過以下兩個函數(shù)查看被裝載的PHP擴展模塊。?函數(shù)get_load_extensions(),返回一個數(shù)組,其中包含所有被編譯和裝載的模塊的名稱,該函數(shù)沒有參數(shù)。?函數(shù)get
7、_extension_funcs($module),返回一個數(shù)組,它包含了由參數(shù)$module指定的模塊的所有函數(shù)名稱。代碼10-2演示了使用這兩個查看PHP所有被載入的擴展。圖10.2查看載入的PHP擴展及其函數(shù)代碼10-2查看PHP中被載入的擴展(10-2.php)當(dāng)前所有被載入的模塊機器函數(shù)";echo"
";$exten_list=get_loaded_extensions();foreach($exten_listas$extension){echo"$extension
";ec
8、ho"
";勵志照亮人生 編程改變命運192第10章用PHP獲取系統(tǒng)信息$ext_func=get_extension_funcs($extension);foreach($ext_fu