$_SERVER
是一個預定義的全局數組,它包含了有關頭、路徑和腳本位置等服務器信息。在 PHP 中,您不能直接設置 $_SERVER
數組的值,因為它是由 Web 服務器自動填充的。但是,您可以根據需要修改 $_SERVER
數組中的某些值,這些值將自動傳遞給腳本。
以下是一些常見的 $_SERVER
元素及其用途:
$_SERVER['HTTP_HOST']
:當前請求的主機名(例如 www.example.com)。$_SERVER['HTTP_USER_AGENT']
:客戶端瀏覽器的信息(例如 Mozilla/5.0)。$_SERVER['REQUEST_URI']
:當前請求的 URI(例如 /index.php)。$_SERVER['SCRIPT_NAME']
:當前執行腳本的文件名(例如 index.php)。$_SERVER['SCRIPT_FILENAME']
:當前執行腳本的完整路徑(例如 /var/www/html/index.php)。$_SERVER['DOCUMENT_ROOT']
:Web 服務器的文檔根目錄(例如 /var/www/html)。$_SERVER['SERVER_NAME']
:服務器的主機名(例如 www.example.com)。$_SERVER['SERVER_PORT']
:服務器監聽的端口號(例如 80 或 443)。$_SERVER['HTTPS']
:指示當前連接是否為 HTTPS(例如 on 或 off)。如果您需要修改這些值,可以直接操作數組。但是,請注意,這可能會導致意外的行為,因為其他依賴于這些值的代碼可能會受到影響。在大多數情況下,您不需要修改這些值,因為 Web 服務器會自動處理它們。
如果您需要添加自定義的 $_SERVER
值,可以創建一個新的全局數組并將其命名為 $_SERVER
。但是,請注意,這可能會導致與其他代碼中的 $_SERVER
數組沖突。例如:
<?php
$custom_server = array(
'HTTP_HOST' => 'www.example.com',
'HTTP_USER_AGENT' => 'Mozilla/5.0',
// 添加其他自定義值
);
$_SERVER = $custom_server;
?>
這將覆蓋默認的 $_SERVER
數組,但請謹慎使用這種方法,因為它可能會導致其他代碼中的問題。