検索
ホームページphp教程php手册PHP $_SERVER变量使用方法详解

PHP $_SERVER变量使用方法详解

Jun 13, 2016 am 09:51 AM
phpserver説明書全体的な状況変数できる詳しい説明

PHP $_SERVER包括的变量都为全局变量了可以叫超级全局变量,下面我来给大家整理了常用的PHP $_SERVER用法详细,希望对大家有所帮助。


我常用的$_SERVER[]变量

$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言  

$_SERVER['REMOTE_ADDR'] //当前用户 IP 。  

$_SERVER['REMOTE_HOST'] //当前用户主机名  

$_SERVER['REQUEST_URI'] //URL 

$_SERVER['REMOTE_PORT'] //端口。  

$_SERVER['SERVER_NAME'] //服务器主机的名称。  

$_SERVER['PHP_SELF']//正在执行脚本的文件名  

$_SERVER['argv'] //传递给该脚本的参数。  

$_SERVER['argc'] //传递给程序的命令行参数的个数。  

$_SERVER['GATEWAY_INTERFACE']//CGI 规范的版本。  

$_SERVER['SERVER_SOFTWARE'] //服务器标识的字串  

$_SERVER['SERVER_PROTOCOL'] //请求页面时通信协议的名称和版本  

$_SERVER['REQUEST_METHOD']//访问页面时的请求方法  

$_SERVER['QUERY_STRING'] //查询(query)的字符串。  

$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录  

$_SERVER['HTTP_ACCEPT'] //当前请求的 Accept: 头部的内容。  

$_SERVER['HTTP_ACCEPT_CHARSET'] //当前请求的 Accept-Charset: 头部的内容。  

$_SERVER['HTTP_ACCEPT_ENCODING'] //当前请求的 Accept-Encoding: 头部的内容  

$_SERVER['HTTP_CONNECTION'] //当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。  

$_SERVER['HTTP_HOST'] //当前请求的 Host: 头部的内容。  

$_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址。  

$_SERVER['HTTP_USER_AGENT'] //当前请求的 User_Agent: 头部的内容。  

$_SERVER['HTTPS']//如果通过https访问,则被设为一个非空的值(on),否则返回off  

$_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名。  

$_SERVER['SERVER_ADMIN'] #管理员信息  

$_SERVER['SERVER_PORT'] #服务器所使用的端口  

$_SERVER['SERVER_SIGNATURE'] #包含服务器版本和虚拟主机名的字符串。  

$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录)的基本路径。  

$_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用。  

$_SERVER['PHP_AUTH_USER'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。  

$_SERVER['PHP_AUTH_PW'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。  

$_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型 


页面程序相关

•$_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,上面列出的元素几乎没有有效的(或是没有任何实际意义的)。


例1

PHP获取当前url路径

1,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI

3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径

4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名

实例:
1,http://www.bKjia.c0m/ (直接打开主页)
结果:
$_SERVER["QUERY_STRING"] = ""
$_SERVER["REQUEST_URI"] = "/"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

2,http://www.bKjia.c0m/?p=222 (附带查询)
结果:
$_SERVER["QUERY_STRING"] = "p=222"
$_SERVER["REQUEST_URI"] = "/?p=222"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

3,http://www.bKjia.c0m/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"] = "p=222&q=biuuu"
$_SERVER["REQUEST_URI"] = "/index.php?p=222&q=biuuu"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.bKjia.c0m后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名


当前url:"http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']


总结一下,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境