PHP的getenv函数的参数列表
$_SERVER["HTTP_X_FORWARDED_FOR"]

以阻止普通的匿名代理

$spager=$_SERVER["SERVER_NAME"];
                 or
$spager=getenv('SERVER_NAME');

“PHP_SELF”
当前正在执行脚本的文件名,与 document root 相关。举例来说,在 URL 地址为 [url]http://example.com/test.php/foo.bar[/url] 的脚本中使用 $_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果。__FILE__ 常量包含当前(例如包含)文件的绝对路径和文件名。

如果 PHP 以命令行方式运行,该变量在 PHP 4.3.0 之前无效。

“argv”
传递给该脚本的参数。当脚本运行在命令行方式时,argv 变量传递给程序 C 语言样式的命令行参数。当调用 GET 方法时,该变量包含请求的数据。

“argc”
包含传递给程序的命令行参数的个数(如果运行在命令行模式)。

“GATEWAY_INTERFACE”
服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。

“SERVER_NAME”
当前运行脚本所在服务器主机的名称。如果该脚本运行在一个虚拟主机上,该名称是由那个虚拟主机所设置的值决定。

“SERVER_SOFTWARE”
服务器标识的字串,在响应请求时的头信息中给出。

“SERVER_PROTOCOL”
请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

“REQUEST_METHOD”
访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

注: 如果请求的方式是 HEAD,PHP 脚本将在送出头信息后中止(这意味着在产生任何输出后,不再有输出缓冲)。

“REQUEST_TIME”
请求开始时的时间戳。从 PHP 5.1.0 起有效。

“QUERY_STRING”
查询(query)的字符串(URL 中第一个问号 ? 之后的内容)。

“DOCUMENT_ROOT”
当前运行脚本所在的文档根目录。在服务器配置文件中定义。

“HTTP_ACCEPT”
当前请求的 Accept: 头信息的内容。

“HTTP_ACCEPT_CHARSET”
当前请求的 Accept-Charset: 头信息的内容。例如:“iso-8859-1,*,utf-8”。

“HTTP_ACCEPT_ENCODING”
当前请求的 Accept-Encoding: 头信息的内容。例如:“gzip”。

“HTTP_ACCEPT_LANGUAGE”
当前请求的 Accept-Language: 头信息的内容。例如:“en”。

“HTTP_CONNECTION”
当前请求的 Connection: 头信息的内容。例如:“Keep-Alive”。

“HTTP_HOST”
当前请求的 Host: 头信息的内容。

“HTTP_REFERER”
链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是真实正确的。

“HTTP_USER_AGENT”
当前请求的 User-Agent: 头信息的内容。该字符串表明了访问该页面的用户代理的信息。一个典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。也可以使用 get_browser() 得到此信息。

“HTTPS”
如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。

“REMOTE_ADDR”
正在浏览当前页面用户的 IP 地址。

“REMOTE_HOST”
正在浏览当前页面用户的主机名。反向域名解析基于该用户的 REMOTE_ADDR。

注: 必须配置 Web 服务器来建立此变量。例如 Apache 需要在 httpd.conf 中有 HostnameLookups On。参见 gethostbyaddr()。

“REMOTE_PORT”
用户连接到服务器时所使用的端口。

“SCRIPT_FILENAME”
当前执行脚本的绝对路径名。

注: 如果脚本在 CLI 中被执行,作为相对路径,例如 file.php 或 ../file.php,$_SERVER['SCRIPT_FILENAME'] 将包含用户指定的相对路径。

“SERVER_ADMIN”
该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。

“SERVER_PORT”
服务器所使用的端口。默认为“80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。

“SERVER_SIGNATURE”
包含服务器版本和虚拟主机名的字符串。

“PATH_TRANSLATED”
当前脚本所在文件系统(不是文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。

注: PHP 4.3.2 之后,PATH_TRANSLATED 在 Apache 2 SAPI 模式下不再和 Apache 1 一样隐含赋值,而是若 Apache 不生成此值,PHP 便自己生成并将其值放入 SCRIPT_FILENAME 服务器常量中。这个修改遵守了 CGI 规范,PATH_TRANSLATED 仅在 PATH_INFO 被定义的条件下才存在。

Apache 2 用户可以使用 httpd.conf 中的 AcceptPathInfo On 来定义 PATH_INFO。

“SCRIPT_NAME”
包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 包含当前文件的绝对路径和文件名(例如包含文件)。

“REQUEST_URI”
访问此页面所需的 URI。例如,“/index.html”。

“PHP_AUTH_DIGEST”
当作为 Apache 模块运行时,进行 HTTP Digest 认证的过程中,此变量被设置成客户端发送的“Authorization”HTTP 头内容(以便作进一步的认证操作)。

“PHP_AUTH_USER”
当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。

“PHP_AUTH_PW”
当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。

“AUTH_TYPE”
当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。<?
$array = array(
                "REMOTE_ADDR",
                "DOCUMENT_ROOT",
                "GATEWAY_INTERFACE",
                "SERVER_SOFTWARE",
                "SERVER_NAME",
                "SERVER_PROTOCOL",
                "SERVER_PORT",
                "SERVER_ADMIN",
                "SERVER_SIGNATURE",
                "REQUEST_METHOD",
                "REQUEST_URI",
                "PATH_INFO",
                "PATH_TRANSLATED",
                "SCRIPT_NAME",
                "SCRIPT_FILENAME",
                "QUERY_STRING",
                "REMOTE_HOST",
                "REMOTE_ADDR",
                "REMOTE_USER",
                "REMOTE_IDENT",
                "CONTENT_TYPE",
                "CONTENT_LENGTH",
                "HTTP_ACCEPT",
                "HTTP_ACCEPT_CHARSET",
                "HTTP_ACCEPT_LANGUAGE",
                "HTTP_ENCODING",
                "HTTP_USER_AGENT",
                "HTTP_CONNECTION",
                "HTTP_HOST",
                "HTTP_REFERER",
                "AUTH_TYPE"
               );

echo '<center>';
echo '<table border="1" cellspacing="0" cellpadding="0">';
echo '<caption>CGI Environment Variables</caption>';
echo '<tr><th>Name<th>Value</tr>';

$count = count($array);
for($i=0;$i<$count;$i++){
    $value = getenv($array[$i]);
    if($value){
       echo "<tr><td>$array[$i]<td>" . $value . "</tr>";
    }
//下面的语句也可以哦
//    if(isset($$array[$i])){
//       echo "<tr><td>$array[$i]<td>" . $$array[$i] . "</tr>";
//    }
}

echo '</table>';
echo '</center>';
?>

预定义变量$_SERVER相关推荐

  1. PHP SEVER预定义变量

    PHP SEVER预定义变量     $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关. $_SERVER['argv'] #传递给该脚本的参数 ...

  2. bash之预定义变量

    1.2 预定义变量 echo $PWD 当前路径 echo $USER 当前用户 echo $HOME 当前用户的家目录 echo $PATH 当前的环境变量 echo ~ 当前用户的用户迷路 ech ...

  3. shell预定义变量

    预定义变量: 就是shell设计者已经事先定义好的变量,可以直接在shell脚本中使用. 预定义变量 功能描述 $$ 当前进程的进程号(PID) $! 后台运行的最后一个进程的进程号(PID) $? ...

  4. make的自动变量和预定义变量

    make的自动变量 $@ 规则目标的文件名.如果目标是档案文件的一个成员,"$@"就是档案文件的名称 $% 当目标是档案文件的一个成员时,"$%"是该成员的名称 ...

  5. 【Makefile由浅入深完全学习记录5】预定义变量的使用

    今天学习Makefile预定义变量的使用,加qq:1126137994.微信:liu1126137994一起学习更多技术!!! 1.预定义变量:自动变量 在Makefile中存在一些预定义过的变量,我 ...

  6. CMake 常用的预定义变量

    CMake 常用的预定义变量 PROJECT_NAME : 通过 project() 指定项目名称 PROJECT_SOURCE_DIR : 工程的根目录 PROJECT_BINARY_DIR : 执 ...

  7. cmake学习笔记(2)--CMake常用的预定义变量

    cmake常用的预定义变量不多,根据经验掌握如下几个就基本上够用了: PROJECT_NAME : 通过 project() 指定项目名称 PROJECT_SOURCE_DIR : 工程的根目录 PR ...

  8. nginx proxy_pass 使用变量报错_nginx自定义变量与内置预定义变量

    nginx可以使用变量简化配置与提高配置的灵活性,所有的变量值都可以通过这种方式引用: $变量名 而nginx中的变量分为两种,自定义变量与内置预定义变量 内置变量 声明 可以在sever,http, ...

  9. Gitlab CI/CD 中预设变量 .gitlab-ci.yml 的预定义变量

    文章有更新, 更加详细和更常用的预设变量可以参考以下两篇新的文章 GitLab CI/CD关键词(五):变量 variables GitLab CI/CD中的常用预设变量 GitLab CI / CD ...

  10. php几个预定义变量$_SERVER['DOCUMENT_ROOT']

    <?php echo 'documentroot:'.$_SERVER['DOCUMENT_ROOT'].'<br>'; //根目录,在apache的配置文件里定义:httpd.co ...

最新文章

  1. python异常值删除_python数据清洗中,是如何识别和处理异常值的?
  2. EntityFramework进阶——事务
  3. C下的全局变量和指针 - C/C++ / C语言
  4. 通过Memcached来实现对Tomcat集群中Session的共享策略
  5. [转一下]未来卫星通信发展趋势
  6. linux分布式文件部署,Linux的企业-分布式文件系统mfs(moosefs)搭建与配置
  7. system.gc()和system.runFinalization()区别作用
  8. office2007中文版下载和功能介绍
  9. Redis更新数据的时候如何不重置过期时间
  10. Visio如何绘制数据流图
  11. python grpc报错Received message larger than max
  12. 光耦w314的各引脚图_P621 光耦
  13. Lesson 63-64 Who has the most stressful job?
  14. 原神换服报错(二级地址解析失败),换服失败,无反应
  15. 这108道 JavaOOP 面试题 你是不是都会了?
  16. MySQL-基本概念与查询操作(DESC/SELECT/FROM/WHERE/LIKE)
  17. swift 3.0 再探索 - 1.String
  18. Java实现快递管理系统四(View+Main+Dao总结)
  19. 计算机基础知识500字以上,电脑考试作文500字
  20. 卫哲:阿里人才秘诀,谨慎下放招聘权、让95后心甘情愿

热门文章

  1. 前端学习(2533):mapgetter和actions
  2. 前端学习(2465):ajax发送请求
  3. 第八十三期:这些高性能负载均衡架构知识点,90%的人分不清!
  4. java面试题8 牛客:在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象
  5. java学习(120):set的iterator
  6. 错误解决:常出现在iis搭建网站
  7. u盘无法复制文件进去_只需一招,禁止Windows复制文件到U盘,再也不用担心你的资料被拷走!...
  8. request用法_虚拟语气用法总结
  9. Centos7静态ip设置(亲测有效)
  10. 集合转数组的toArray()和toArray(T[] a)方法