`

几个常用的(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

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

相关推荐

    PHP预定义变量9大超全局数组用法详解

    以上就是PHP中9个超全局变量的详细用法,通过这些超全局变量可以方便地访问由客户端发起的请求数据、服务器环境信息以及全局变量等。这些超全局变量在Web开发中扮演了重要的角色,使Web应用的交互变得更加简单和灵活...

    php几个预定义变量$_SERVER用法小结

    以上就是`$_SERVER`预定义数组中几个关键变量的用法,它们在开发PHP应用程序时非常实用,可以用来获取关于服务器环境、请求信息以及请求参数等数据。正确理解和使用这些变量有助于编写更加健壮和适应性强的PHP代码。

    不常用但很实用的PHP预定义变量分析

    接下来,我将对几个不太常用但非常实用的PHP预定义变量进行详细分析。 1. $php_errormsg 此变量用于获取脚本中最近发生的错误信息。当错误处理未被禁用时,$php_errormsg会保存上一次发生错误的详细描述。这个变量...

    PHP教程 预定义变量

    在PHP中,有几个关键的超全局变量数组,它们分别对应了不同的信息来源。例如,`$_SERVER`数组包含了关于请求和服务器的信息。通过`$_SERVER`数组,可以获取当前执行的脚本文件名(`$_SERVER['PHP_SELF']`),当前...

    PHP预定义超全局数组变量小结

    - 避免使用和预定义超全局变量同名的变量,以防止覆盖预定义变量。 - 对于文件上传的情况,需要通过$_FILES数组获取上传文件的信息。 - 在处理用户输入时,应当对$_GET、$_POST以及$_COOKIE等变量传入的数据进行验证...

    PHP经典实例--变量

    在深入探讨PHP变量的特性和使用时,我们可以从以下几个关键点来理解: 1. **声明与赋值**:在PHP中,无需预先声明变量类型,可以直接赋值创建变量。例如,`$var = "Hello, World!";` 这行代码就创建了一个字符串...

    PHP 数据类型和判断变量类型

    判断变量类型的函数在PHP中有以下几种: 1. **gettype()**:返回变量的数据类型作为字符串,例如"integer"、"string"等。 2. **is_null()**:检查变量是否为`NULL`。 3. **is_int()** 和 **is_float()**:分别...

    PHP变量放在大括号里面的含义2

    本文将从以下几个方面进行深入探讨:基本语法、变量嵌入、可变变量以及一些高级应用。 ##### 基本语法 在PHP中,大括号(`{}`)用于定义变量的边界。当在一个字符串内部使用变量时,通常有两种方法来插入变量的值...

    php变量作用域的深入解析

    PHP中的变量作用域是指一个变量能够在程序的哪个部分被访问和修改。变量的作用域是由它们的定义位置决定的,通常分为局部作用域和全局作用域两大类。 局部变量是指在函数内部定义的变量,它只在该函数内部可见,即...

    PHP变量的定义及作用域

    PHP有几个预定义的超全局变量,如`$_GET`用于接收GET请求的数据,`$_POST`用于接收POST请求的数据,`$_SESSION`用于处理会话数据等。 ```php $_GET['name'] = "John"; echo $_GET['name']; // 输出: John ``` ...

    PHP变量类型

    根据给定的文件标题“PHP变量类型”以及其描述与部分内容,我们可以整理出关于PHP变量类型的相关知识点。本文将从以下几个方面进行详细阐述:PHP的基本数据类型、类型转换、一些实用函数及其用法。 ### 一、PHP基本...

    PHP中的变量作用域

    #### 三、PHP变量作用域概述 PHP中的变量作用域主要包括以下几种类型: 1. **全局作用域**:在整个脚本文件范围内都可被访问的变量。 2. **局部作用域**:仅在特定区域内可被访问的变量,如在函数内部定义的变量。 ...

    phpcms 自动添加变量

    这个文件通常包含 PHP 脚本,用于与 phpcms 系统交互,完成变量的创建。将此文件上传到 phpcms 的相应目录,通常是 `uploads` 或者 `addons` 目录。 - **安装**:上传完成后,登录 phpcms 后台,找到系统设置或...

    thinkphp5 js中显示php变量.docx

    为了绕过这个问题,可以采用以下几种方法之一: ##### 1. 使用隐藏输入元素 在视图模板中添加一个隐藏的 `&lt;input&gt;` 元素,并将需要传递给 JS 的数据作为该元素的 `value` 属性值。然后在 JS 中通过 DOM 操作获取该...

    php中页面之间传递变量方法总结

    本文将详细介绍几种常用的页面间变量传递方法,并通过具体示例加以说明。 #### 一、使用Form表单中的Hidden隐藏域 这种方法的基本思路是将需要传递的数据封装成HTML表单的一部分,并通过POST或GET方式提交至目标...

    tomcat下部署php所需的配置php环境变量包

    在标题和描述中提到的配置过程包括以下几个步骤: 1. **下载并解压PHP**:首先,你需要从PHP官方网站下载适合你系统版本的PHP安装包,然后将其解压缩。确保选择一个与你的操作系统和Tomcat版本兼容的PHP版本。 2. ...

    Discuz!全局变量介绍

    根据提供的部分内容,我们可以将这些全局变量分为几个大类来进行详细介绍: ##### A. 字母组 这些变量通常与系统的配置和权限控制有关。 - **$action**:表示当前的操作类型,如浏览、发帖等。 - **$adminid**:...

    PHP学习之预定义变量(实例讲解)

    在超全局变量的范畴中,有几个非常重要的预定义变量,如`$GLOBALS`、`$_SERVER`等。在提供的内容中,我们看到了对`$GLOBALS`和`$_SERVER`两个超全局变量的介绍和示例代码。 `$GLOBALS`是PHP中的一个超全局变量,它...

    BUUCTF-Web-Mark loves cat变量函数覆盖

    5. **使用预定义变量**:尽量使用预定义的变量(如`$_GET`、`$_POST`等)来访问HTTP请求数据,而不是直接使用全局变量。 在题目【BJDCTF2020]Mark loves cat】中,我们看到攻击者通过`.git`泄露获取到了网站的源码...

Global site tag (gtag.js) - Google Analytics