设为首页 收藏本站
查看: 663|回复: 0

[经验分享] 几个常用的(PHP预定义变量)以及(如何访问预定义变量)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-4-12 11:46:40 | 显示全部楼层 |阅读模式
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

全部脚印 不留脚印 留下脚印:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-363910-1-1.html 上篇帖子: PHP编码转换函数mb_convert_encoding与iconv的使用说明 下篇帖子: 一个最简单的基于PHP+jQuery的AJAX例子【转】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表