`

几个常用的(PHP预定义变量)以及(如何访问预定义变量)

    博客分类:
  • php
阅读更多
  REQUEST_METHOD: 访问页面时的请求方法.例如: "GET"、"HEAD"、"POST"、"PUT".
REQUEST_TIME: 请求开始时的时间戳.
QUERY_STRING: 查询(query)的字符串(URL中第一个问号?之后的内容).
DOCUMENT_ROOT: 当前运行脚本所在的文档根目录.在服务器配置文件中定义.
  HTTP_ACCEPT: 当前请求的Accept头信息的内容.
HTTP_ACCEPT_CHARSET: 当前请求的Accept-Charset头信息的内容.
SERVER_PROTOCOL: 请求页面时通信协议的和版本,例如:Http/1.0;
REQUEST_METHOD: 访问页面时的请求方法.例如:"GET"、"HEAD"、"POST"、"PUT".

//-----------下面介绍访问预定义变量的方法--------------------------------------

1. 在PHP中可以通过3种方式来访问这些预定义变量.最原始的访问方法就是直接在全局变量前面加美元符号来访问,如下所示;
$REQUERST_METHOD
  但是在PHP5中这种直接的访问方式已经被屏蔽了,所以要想通过这种方法访问预定义变量,必须修改php.ini的设置. (将"register_globals=OFF"改成"register_globals=ON",然后重启Apache服务器).

例:使用$预定义变量
 
  <?php
    echo '提交方法为:'.$REQUERT_METHOD;
    echo '<br>网络协议为:'.$SERVER_PROTOCOL;
  ?>
输出结果:
     提交方法为:GET
     网络协议为:HTTP/1.1
这种方法容易给编程人员带来一些不必要的麻烦,因此PHP默认是不支持这种访问方式的.当然读者应该掌握和了解,尤其是阅读以前版本的PHP源码的时候.

//----------------------------------------------------------------------------
2. 用$HTTP_*_VARS方法访问预定义变量.
    $HTTP_*_VARS是一种长格式的访问方式.其中"*"根据不同的变量使用不同的内容.通常这些预定义变量可以分成以下几种.
   服务器变量: 系统的服务设置变量(访问方式$HTTP_SERVER_VARS).
  环境变量: 系统的环境设置变量(访问方式$HTTP_ENV_VARS).
   Cookies变量: Cookies变量(访问方式$HTTP_Cookies_VARS).
  GET变量: 通过GET方法请求变量(访问方式$HTTP_GET_VARS).
   POST变量: 通过POST方法请求变量(访问方式$HTTP_POST_VARS).
  REQUEST变量: 通过表单请求变量(访问方式$HTTP_REQUEST_VARS).
   Session变量: 会话控制变量(访问方式$HTTP_SESSION_VARS).
  文件上专变量: 用户将文件传送到服务器的变量(访问方式$HTTP_POST_VARS).
在 PHP4.0之后,这种访问方式就被禁止了,因此为了启用这种访问方式,必须修改php.ini文件的设置.
(将"register_long_arrays=OFF" 改成"register_long_arrays=ON",然后重启Apache服务器). 

例:
  <?php
      echo '主机名称:'.$HTTP_SERVER_VARS['HTTP_HOST'];
      echo '<br>服务器根路径:'.$HTTP_SERVER_VARS['DOCUMENT_ROOT'];
   ?>

输出结果:
        主机名称:localhost
         服务器根路径:D:/AppServ/www
//-----------------------------------------------------------------------------

3. 超全局变量访问预定义变量.(PHP推荐的访问方式)
  在PHP4之后,采用了一种新的方式来访问预定义变量.系统提供了一些定义好的超全局变量数组,用户可以直接调用这些数组进行访问.
  $GLOBALS: 包含一个引用指向每个当前脚本的全局范围内有效的变量.该数组的键名为全局变量的名称.
  $_SERVER: 变量由Web服务器设定或者直接与当前脚本的执行环境相关联.类似于$HTTP_SERVER_VARS数组.
  $_GET: 经由URL请求提交至脚本的变量.类似于$HTTP_GET_VARS数组.
  $_PSOT: 经由HTTP POST方法提交至脚本的变量.类似于$HTTP_POST_VARS数组.
  $_COOKIE:  经由HTTP Cookies方法提交至脚本的变量.类似于$HTTP_COOKIE_VARS数组.
  $_FILES: 经由HTTP FOST文件上传而提交至脚本的变量.类似于$HTTP_POST_FILES数组.
  $_ENV: 执行环境提交至脚本的变量.类似于$HTTP_ENV_VARS数组.
  $_REQUEST: 经由GET、POST、COOKIE机制提交至脚本的变量.因此该数组并不值得信任.所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini中的varables_ords配置指示来定义.
  $_SESSION: 当前注册给脚本会话的变量.类似于$HTTP_SESSION_VARS数组.

例:
  <?php
   echo '当前执行脚本文件:'.$_SERVER['PHP_SELF'];
   echo '<br>当前执行脚本文件绝对路径:'.$_SERVER['scrīpt_FILENAME'];
  ?>

输出结果:
     当前执行脚本文件:/Test/heredoc.php
     当前执行脚本文件绝对路径:D:/AppServ/www/Test/heredoc.php

全部脚印 不留脚印 留下脚印:
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics