phpserver變量,PHP變量的名稱

本文目錄一覽:

php 服務器變量$_SERVER 服務器環境變量 $_ENV

PHP  $_SERVER 變量

$_SERVER 是一個包含諸如頭信息(header)、路徑(path)和腳本位置(script locations)的數組。它是 PHP 中一個超級全局變量,我們可以在 PHP 程序的任何地方直接訪問它。

$_SERVER 包含着眾多的信息,你可以嘗試直接打印它:

print_r($_SERVER);

$_SERVER 數組元素

更多情況下,我們只需要 $_SERVER 數組中的某些元素(數組單元)。$_SERVER 數組包含的元素如下:

頁面程序相關

$_SERVER[『PHP_SELF』]:相對於網站根目錄的路徑及 PHP 程序名稱,與 document root 相關。

$_SERVER[『HTTP_REFERER』]:鏈接到當前頁面的前一頁面的 URL 地址。

$_SERVER[『SCRIPT_NAME』]:相對於網站根目錄的路徑及 PHP 程序文件名稱 。

$_SERVER[『REQUEST_URI』]:訪問此頁面所需的 URI 。

$_SERVER[『SCRIPT_FILENAME』]:當前運行 PHP 程序的絕對路徑及文件名。

$_SERVER[『PATH_TRANSLATED』]:當前 PHP 程序所在文件系統(不是文檔根目錄)的基本路徑。

$_SERVER[『QUERY_STRING』]:查詢(query)的字符串(URL 中第一個問號 ? 之後的內容但不包括 # 後面的內容)。

$_SERVER[『argv』]:傳遞給當前 PHP 程序的參數。

$_SERVER[『argc』]:命令行模式下,包含傳遞給程序的命令行參數的個數。

$_SERVER[『REQUEST_TIME』]:請求開始時的時間戳,從 PHP 5.1.0 起有效。

$_SERVER[『REQUEST_METHOD』]:訪問頁面時的請求方法,例如:「GET」、「HEAD」,「POST」或「PUT」。

$_SERVER[『HTTP_ACCEPT』]:當前請求的 Accept: 頭信息的內容。

$_SERVER[『HTTP_ACCEPT_CHARSET』]:當前請求的 Accept-Charset: 頭信息的內容。例如:「iso-8859-1,*,utf-8」。

$_SERVER[『HTTP_ACCEPT_ENCODING』]:當前請求的 Accept-Encoding: 頭信息的內容。例如:「gzip」。

$_SERVER[『HTTP_ACCEPT_LANGUAGE』]:當前請求的 Accept-Language: 頭信息的內容。例如:「zh-cn」。

$_SERVER[『HTTP_CONNECTION』]:當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。

$_SERVER[『HTTP_HOST』]:當前請求的 Host: 頭信息的內容。

$_SERVER[『HTTPS』]:如果 PHP 程序是通過 HTTPS 協議被訪問,則被設為一個非空的值。

$_SERVER[『PHP_AUTH_DIGEST』]:當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變量被設置成客戶端發送的「Authorization」HTTP 頭內容(以便作進一步的認證操作)。

$_SERVER[『PHP_AUTH_USER』]:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。

$_SERVER[『PHP_AUTH_PW』]:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。

$_SERVER[『AUTH_TYPE』]:當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型。

服務器端相關

$_SERVER[『DOCUMENT_ROOT』]:當前運行 PHP 程序所在的文檔根目錄,在服務器配置文件中定義。

$_SERVER[『GATEWAY_INTERFACE』]:服務器使用的 CGI 規範的版本,例如:「CGI/1.1」。

$_SERVER[『SERVER_ADDR』]:當前運行 PHP 程序所在的服務器的 IP 地址。

$_SERVER[『SERVER_NAME』]:當前運行 PHP 程序所在的服務器的名稱。

$_SERVER[『SERVER_ADMIN』]:Apache 服務器配置文件中的 SERVER_ADMIN 參數。

$_SERVER[『SERVER_PORT』]:服務器所使用的端口。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 端口。

$_SERVER[『SERVER_SIGNATURE』]:包含服務器版本和虛擬主機名的字符串。

$_SERVER[『SERVER_SOFTWARE』]:服務器標識的字串,在響應請求時的頭信息中給出。

$_SERVER[『SERVER_PROTOCOL』]:請求頁面時通信協議的名稱和版本,例如:「HTTP/1.0」。

其他雜項

$_SERVER[『HTTP_USER_AGENT』]:當前請求的 User-Agent: 頭信息的內容,該字符串表明了訪問該頁面的用戶代理的信息。

$_SERVER[『REMOTE_ADDR』]:正在瀏覽當前頁面用戶的 IP 地址。

$_SERVER[『REMOTE_HOST』]:正在瀏覽當前頁面用戶的主機名。

$_SERVER[『REMOTE_PORT』]:用戶連接到服務器時所使用的端口。

注意,如果以命令行方式運行 PHP,上面列出的元素幾乎沒有有效的(或是沒有任何實際意義的)。

PHP $_ENV 變量

$_ENV 是一個包含服務器端環境變量的數組。它是 PHP 中一個超級全局變量,我們可以在 PHP 程序的任何地方直接訪問它。

$_ENV 只是被動的接受服務器端的環境變量並把它們轉換為數組元素,你可以嘗試直接打印它:

print_r($_ENV);

限於篇幅,在此不再列出打印的結果,且不同的服務器上,打印出的結果可能是完全不同的。

$_ENV 數組元素

$_ENV 數組中的元素(數組單元)隨服務器環境不同而有較大差異,所以無法像 $_SERVER 那樣列出完整的列表。以下是 $_ENV 數組包含的比較通用的元素:

$_SERVER[『PATH』]:環境變量 PATH 路徑。

$_SERVER[『CLASSPATH』]:系統 CLASSPATH 路徑。

$_SERVER[『LIB』]:系統 LIB 庫路徑。

$_SERVER[『INCLUDE』]:系統 Include 路徑,注意與 PHP 的包含路徑是不一樣的。

$_SERVER[『OS』]:操作系統類型。

$_SERVER[『LANG』]:系統語言,如 en_US 或 zh_CN。

$_SERVER[『PWD』]:當前工作目錄。

$_SERVER[『TEMP』]:系統 TEMP 路徑。

$_SERVER[『AP_PARENT_PID』]:當前進程 ID 號。

$_SERVER[『NUMBER_OF_PROCESSORS』]:系統 CPU 數目。

$_ENV 為空的原因及解決辦法

如果打印輸出 $_ENV 為空,可以檢查一下 php.ini 的配置:

variables_order = “EGPCS”

上述配置表示 PHP 接受的外部變量來源及順序,EGPCS 是 Environment、Get、Post、Cookies 和 Server 的縮寫。如果 variables_order 的配置中缺少 E ,則 PHP 無法接受環境變量,那麼 $_ENV 也就為空了。

PHP服務器變量$_SERVER[‘REMOTE_PORT’] — 用戶連接到服務器時所使用的端口,該如何應用這個函數啊

一個系統變量

如你要輸入他的端口可以這樣寫

?php

echo $_SERVER[‘REMOTE_PORT’]

?

將得到服務器服務端口(一般是80)

PHP中內置變量$_SERVER[‘DOCUMENT_ROOT’]的使用方法

?php

/* 獲取web服務器的www目錄的物理路徑 */

$_SERVER[‘DOCUMENT_ROOT’];

?

一般用於獲取站點的物理目錄,如果站點安裝在www目錄下的dede下

站點物理目錄

設置為$_SERVER[‘DOCUMENT_ROOT’].”/dede”;

即 D:/App/www/dede

方面文件的讀取和寫入操作

PHP預定義變量$_SERVER中的PHP_SELF和SCRIPT_FILENAME有什麼詳細區別?

SCRIPT_FILENAME指向當前執行腳本的絕對路徑;PHP_SELF當前正在執行腳本的文件名,兩者經常混淆,舉一個例子你就明白了,假如D盤web文件夾為根目錄,web下的htdocs文件夾有文件a.php,語句如下:

?php

include(common/b.php);

?,

htdocs文件下common目錄b.php,語句如下:

?php

echo $_SERVER[‘PHP_SELF’];

echo “br /”;

echo $_SERVER[‘SCRIPT_FILENAME’];

?

運行a.php得出結果:

/htdocs/in.php

D:/web/htdocs/in.php

可以看出PHP_SELF只輸出以根目錄為開始網站文件路徑,但是SCRIPT_FILENAME輸出的是所在硬盤的文件絕對路徑,可以認為一個是輸出網絡文件路徑,一個是文件所在路徑.

SCRIPT_NAME指的是當前腳本文件名,比如b.php有echo $_SERVER[‘SCRIPT_NAME’];那麼輸出是/htdocs/common/b.php,明白了,會直接把當前語句所在腳本文件路徑輸出。

php中如何讀取環境變量

PHP中的環境變量可以通過 $_SERVER 獲取

$_SERVER是一個包含服務器端相關信息的PHP全局環境變量,在PHP4.1.0之前的版本使用$HTTP_SERVER_VARS。

下面是詳細的說明及用法:

$_SERVER[‘PHP_SELF’] 當前正在執行腳本的文件名,與 document root相關。在FORM表單中,如執行文件是本身,你可以在ACTION中使用$_SERVER[‘PHP_SELF’],好處是當執行文件名有變動時可以不去頻繁替換ACTION中的文件名。

$_SERVER[‘SERVER_NAME’] 當前運行的PHP程序所在服務器主機的名稱。

$_SERVER[‘REQUEST_METHOD’] 訪問頁面時的請求方法,即GET、HEAD、POST、PUT。

$_SERVER[‘DOCUMENT_ROOT’] 當前運行的PHP程序所在的文檔根目錄。也就是PHP.INI文件中的定義。

$_SERVER[‘HTTP_REFERER’] 鏈接到當前頁面的前一頁面的URL地址。在頁面跳轉功能中非常有用。

$_SERVER[‘REMOTE_ADDR’] 正在瀏覽當前頁面訪問者的IP地址。

$_SERVER[‘REMOTE_HOST’] 正在瀏覽當前頁面用戶的主機名。

$_SERVER[‘REMOTE_PORT’] 正在遊覽的用戶連接到服務器時所使用的端口。

$_SERVER[‘SCRIPT_FILENAME’] 當前執行腳本的絕對路徑名。

$_SERVER[‘SERVER_PORT’] 服務器所使用的端口

$_SERVER[‘SCRIPT_NAME’] 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。

$_SERVER[‘REQUEST_URI’] 訪問此頁面所需的URI。如「/index.html」。

$_SERVER[‘PHP_AUTH_USER’] 應用在HTTP用戶登錄認證功能中,這個變量是用戶輸入的用戶名。

$_SERVER[‘PHP_AUTH_PW’] 應用在HTTP用戶登錄認證功能中,這個變量便是用戶輸入的密碼。

$_SERVER[‘AUTH_TYPE’] 應用在HTTP用戶登錄認證功能中,這個變量便是認證的類型。

備註:上述提到的這些PHP全局環境變量,在php.ini中的register_globals設置為on時,這些變量在所有PHP程序腳本中都可用,也就是$_SERVER數組被分離了。當然為了安全考慮,還是不要將register_globals打開為好。

php $_SERVER變量值為空 (最佳追加10分)

你的單引號有問題

$_SERVER[‘PHP_SELF’]

$_SERVER[‘REMOTE_ADDR’]

———————————–

看看你php.ini里的register_globals設置是on么?如果不是,修改後重啟APACHE

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/240945.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:24
下一篇 2024-12-12 12:25

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • int類型變量的細節與注意事項

    本文將從 int 類型變量的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變量進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變量。 一、定義與聲明 int…

    編程 2025-04-29
  • Python input參數變量用法介紹

    本文將從多個方面對Python input括號里參數變量進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29
  • Python函數名稱相同參數不同:多態

    Python是一門面向對象的編程語言,它強烈支持多態性 一、什麼是多態多態是面向對象三大特性中的一種,它指的是:相同的函數名稱可以有不同的實現方式。也就是說,不同的對象調用同名方法…

    編程 2025-04-29
  • Python匿名變量的使用方法

    Python中的匿名變量是指使用「_」來代替變量名的特殊變量。這篇文章將從多個方面介紹匿名變量的使用方法。 一、作為佔位符 匿名變量通常用作佔位符,用於代替一個不需要使用的變量。例…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python變量在內存中的存儲

    該文章將從多個方面對Python變量在內存中的存儲進行詳細闡述,包括變量的聲明和賦值、變量的引用和指向、內存地址的變化、內存管理機制等。 一、聲明和賦值 在Python中,變量聲明…

    編程 2025-04-29
  • Python變量類型用法介紹

    Python是一種解釋型編程語言,它提供了豐富的數據類型,包括數字、字符串、列表、元組、集合、字典等。Python變量類型的定義是Python程序開發的基礎,本文將從以下幾個方面對…

    編程 2025-04-28
  • Python print輸出變量

    Python是一種腳本語言,語法簡單易懂,目前被廣泛應用於數據處理、人工智能、web開發、遊戲開發等領域。其中print函數是Python中最常用的函數之一,用於將變量輸出到控制台…

    編程 2025-04-28
  • Python定義變量

    Python是一門高級編程語言,變量是Python編程中非常重要的一個概念。Python的變量定義方式非常簡單,可以在程序中隨時定義一個變量來存儲數據,這方便了整個程序的邏輯編寫,…

    編程 2025-04-28

發表回復

登錄後才能評論