我爱小虾 发表于 2017-3-22 07:34:20

php中的$_SERVER数组变量

  php $_SERVER当前完整url的写法






‘http://’.$_SERVER


['HTTP_HOST'].$_SERVER['PHP_SELF'].’?’.$_SERVER['QUERY_STRING'];



Array
(
=> /home6/twosixe2/public_html/king
=> CGI/1.1
=> application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
=> GBK,utf-8;q=0.7,*;q=0.3
=> gzip,deflate,sdch
=> zh-CN,zh;q=0.8
=> max-age=0
=> keep-alive
=> __utmz=238801119.1279444463.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=238801119.1916031422.1279444463.1279444463.1279444463.1; rtime=0; ltime=1279444853740; cnzz_eid=20179994-1279444456-
=> <a href="http://www.onexin.net" rel="nofollow">http://www.onexin.net</a>
=> Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.458.1 Safari/534.3
=> /bin:/usr/bin
=>
=> 200
=> 113.92.112.126
=> 1856
=> GET
=> /php_server.php
=> /home6/twosixe2/public_html/king/php_server.php
=> /php_server.php
=> 66.147.255.229
=> <a href="mailto:webmaster@onexin.2688.us">webmaster@onexin.2688.us</a>
=> <a href="http://www.onexin.net" rel="nofollow">http://www.onexin.net</a>
=> 80
=> HTTP/1.1
=>
Apache/2.2.16 (CentOS) mod_ssl/2.2.16 0.9.8l DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635 Server at <a href="http://www.onexin.net" rel="nofollow">http://www.onexin.net</a> Port 80
=> Apache/2.2.16 (CentOS) mod_ssl/2.2.16 0.9.8l DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635
=> TH@0RkKT8LMAAEZDtH0AAABA
=> /ramdisk/cpud/status
=> /php_server.php
=> 1283437639
=> Array
(
)
=> 0
)
  



1,$_SERVER[&quot;QUERY_STRING&quot;]


说明:查询(query)的字符串




2,$_SERVER[&quot;REQUEST_URI&quot;]


说明:访问此页面所需的URI




3,$_SERVER[&quot;SCRIPT_NAME&quot;]


说明:包含当前脚本的路径




4,$_SERVER[&quot;PHP_SELF&quot;]


说明:当前正在执行脚本的文件名




实例:


1,http://www.biuuu.com/ (直接打开主页)


结果:


$_SERVER[&quot;QUERY_STRING&quot;] = “”


$_SERVER[&quot;REQUEST_URI&quot;] = “/”


$_SERVER[&quot;SCRIPT_NAME&quot;] = “/index.php”


$_SERVER[&quot;PHP_SELF&quot;] = “/index.php”




2,http://www.biuuu.com/?p=222 (附带查询)


结果:


$_SERVER[&quot;QUERY_STRING&quot;] = “p=222″


$_SERVER[&quot;REQUEST_URI&quot;] = “/?p=222″


$_SERVER[&quot;SCRIPT_NAME&quot;] = “/index.php”


$_SERVER[&quot;PHP_SELF&quot;] = “/index.php”




3,http://www.biuuu.com/index.php?p=222&amp;q=biuuu


结果:


$_SERVER[&quot;QUERY_STRING&quot;] = “p=222&amp;q=biuuu”


$_SERVER[&quot;REQUEST_URI&quot;] = “/index.php?p=222&amp;q=biuuu”


$_SERVER[&quot;SCRIPT_NAME&quot;] = “/index.php”


$_SERVER[&quot;PHP_SELF&quot;] = “/index.php”




$_SERVER[&quot;QUERY_STRING&quot;]获取查询语句,实例中可知,获取的是?后面的值


$_SERVER[&quot;REQUEST_URI&quot;] 获取http://www.biuuu.com后面的值,包括/


$_SERVER[&quot;SCRIPT_NAME&quot;] 获取当前脚本的路径,如:index.php


$_SERVER[&quot;PHP_SELF&quot;] 当前正在执行脚本的文件名




当前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掌握四个变量之间的区别。




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




显示:zh-cn




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




显示:127.0.0.1




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




显示:




4、$_SERVER['REQUEST_URI'] //URL




显示:/test.php




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




显示:3864




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




显示:127.0.0.1




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




显示:/test.php




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




显示:ARRAY




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




显示:0




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




显示: CGI/1.1




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




显示:Apache/2.0.52 (Win32) PHP/5.2.1




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




显示:HTTP/1.1




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




显示:GET




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




显示:




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




显示:D:/Program Files/Apache/www




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




显示:*/*




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




显示:




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




显示:gzip,deflate




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




显示:Keep-Alive




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




显示:127.0.0.1:8080




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




显示:http://127.0.0.1:8080/




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




显示:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727)




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




显示:




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




显示:D:/Program Files/Apache/www/test.php




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




显示:w@w.com




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




显示:8080




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




显示:Apache/2.0.52 (Win32) PHP/5.2.1 Server at 10.145.40.150 Port 8080




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




显示:




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




显示 :/test.php




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




显示:




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




显示:




32、$_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型
页: [1]
查看完整版本: php中的$_SERVER数组变量