php 超全局变量(整理)
来源:https://www.cnblogs.com/wsybky/p/8745286.html
一、$GLOBALS
在GLOBALS数组中,每一个变量为一个元素,键名对于变量名,值对于变量的内。
GLOBALS之所以在全局范围内存在,是因为GLOBALS是一个超全局变量,GLOBALS的写法: 如变量 b,写法为 GLOBALS['b'] 。
二、$_SERVER
$_SERVER 是一个包含例如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每一个服务器 都提供全部项目; 服务器 可能会忽略一些,或者提供一些没有在这里列举出来的项目。
$_SERVER['HTTP_HOST'] 请求头信息中的Host内容,获取当前域名。
$_SERVER["SERVER_NAME"] 输出配置文件httpd.conf中的ServerName,一般情况下与HTTP_HOST值相同,但如果服务器端口不是默认的80端口,或者协议规范不是HTTP/.1时,HTTP_HOST会包含这些信息,而SERVER_NAME不一定包含。(主要看配置文件的设置)。
$_SERVER["HTTP_USER_AGENT"] 获取用户相关信息,包括用户浏览器、操作系统等信息。
$_SERVER['HTTP_ACCEPT'] 当前请求的ACCEPT头部信息。
$_SERVER["HTTP_ACCEPT_LANGUAGE"] 这个值是由浏览器发送,表明用户默认的语言设置,后面的q值表示用户对该语言的喜好程度。
$_SERVER["HTTP_ACCEPT_ENCODING"] 大部分的现代浏览器都支持gzip压缩,并会把这一信息报告给服务器。这时服务器就会压缩过的HTML发送给浏览器。这可以减少近80%的文件大小,以节省下载时间和带宽。
$_SERVER["HTTP_COOKIE"] 浏览器的cookie信息。
$_SERVER["HTTP_CONNECTION"] 当前请求的连接情况。
$_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS"] 表示浏览器可读懂服务器发过来的请求,
$_SERVER["HTTP_CACHE_CONTROL"] 表示浏览器是否会缓存这个页面信息。
$_SERVER["PATH"] 当前脚本所在文件系统。
$_SERVER["SystemRoot"] 当前服务器的操作系统。
$_SERVER["COMSPEC"] 指向cmd.exe的路径。
$_SERVER["PATHEXT"] 环境变量设置。
$_SERVER["WINDIR"] 脚本指向的系统目录。
$_SERVER["SERVER_SIGNATURE"] 包含服务器版本和虚拟主机名的字符串。
$_SERVER["SERVER_SOFTWARE"] 服务器软件配置信息。
$_SERVER["SERVER_ADDR"] 当前运行脚本的服务器的ip地址。
$_SERVER["SERVER_PORT"] 服务器端口。
$_SERVER["REMOTE_ADDR"] 浏览网页的用户ip。
$_SERVER["DOCUMENT_ROOT"] 当前运行脚本所在的根目录。
$_SERVER["REQUEST_SCHEME"] 服务器通信协议,是http或https。
$_SERVER["CONTEXT_PREFIX"] 前缀。
$_SERVER["CONTEXT_DOCUMENT_ROOT"] 当前脚本所在的文档根目录。
$_SERVER["SERVER_ADMIN"] 服务器管理员信息。
$_SERVER["SCRIPT_FILENAME"] 当前执行脚本的绝对路径。
$_SERVER ["REMOTE_PORT"] 用户连接到服务器时所使用的端口。
$_SERVER["GATEWAY_INTERFACE"] 服务器使用的CGI规范的版本。
$_SERVER["SERVER_PROTOCOL"] 请求页面时通信协议的名称和版本。
$_SERVER["REQUEST_METHOD"] 请求提交数据的方式。
$_SERVER["QUERY_STRING"] 服务器请求时?后面的参数。
$_SERVER["REQUEST_URI"] 当前脚本路径,根目录之后的目录。
$_SERVER["SCRIPT_NAME"] 当前脚本的路径。这在页面需要指向自己时非常有用。
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名。
$_SERVER["REQUEST_TIME"] 得到请求开始时的时间戳。
三、$_REQUEST
$_REQUEST用于存储 $_POST 和 $_GET 的数据总和,他们之间是相互独立的。 - $_REQUEST[ "name" ]
如果 unset 掉 $_GET 或者 $_POST ,$_REQUEST 数组中的所存储的数据都不会发生改变。 当 $_POST和$_GET中都有同名元素时,$_REQUEST所存储的数据会依据php配置文件 php.ini 中配置的 request_order = "GP" (默认)来决定先存储GET数据再存储POST数据,最终的结果是POST数据覆盖掉了GET数据。如果改变 request_order = "PG",结果你会反来。
四、$_POST 和 $_GET
$_POST 用于收集 HTML 表单 method = "post" 方式提交的数据。 $_POST 也常用于传递变量。 - $_POST[ "name" ]
$_GET 用于收集 HTML 表单 method = "get" 方式提交的数据。 $_POST 也常用于收集 URL 中发送的数据。 - $_GET[ "name" ]
五、$_FILES
$_FILES 用于获取上传的文件,用法:
html文件: <input type="file" name="myFile">
$_FILES['myFile']['name'] 显示客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 储存的临时文件名,一般是系统默认。
$_FILES['myFile']['error'] 该文件上传相关的错误代码。
六、$_ENV
PHP中的$_ENV存储了一些系统的环境变量,因为涉及到实际的操作系统。
七、$COOKIE
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。
语法:$.cookie(名称,值,[option])
(1)读取cookie值
$.cookie(cookieName) ---> cookieName:要读取的cookie名称。
示例:$.cookie("username"); 读取保存在cookie中名为的username的值。
(2)写入设置Cookie值:
$.cookie(cookieName,cookieValue); ---> cookieName:要设置的cookie名称,cookieValue表示相对应的值。
示例:$.cookie("username","admin"); 将值"admin"写入cookie名为username的cookie中。
$.cookie("username",NULL); 销毁名称为username的cookie
(3) [option]参数说明:
expires: 有限日期,可以是一个整数或一个日期(单位:天)。注: 如果不设置这个东西,浏览器关闭之后此cookie就失效了
path: cookie值保存的路径,默认与创建页路径一致。
domin: cookie域名属性,默认与创建页域名一样。 注: 跨域的概念,如果要主域名二级域名有效则要设置 ".xxx.com"
secrue: 一个布尔值,表示传输cookie值时,是否需要一个安全协议。
八、$_SESSION
session的中文译名叫做“会话”,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。
$_SESSION的用法:
session_start( ); ---> 开始一个会话或者返回已经存在的会话。
说明:这个函数没有参数,且返回值均为true。如果你使用基于cookie的session(cookie-based sessions),那么在使用Session_start()之前浏览器不能有任何输出,否则会发生以下错误。
注册session变量: $_SESSION[‘xxx’] = xxx ,注册SESSION全局变量
php 超全局变量(整理)的更多相关文章
- 记录PHP的超全局变量$_SERVER
$_SERVER是PHP中十分实用的超全局变量,在开发可移植的网站的时候会变得很有用. 下面我记录一下我自己常用到的几个变量 1.$_SERVER['SERVER_NAME']:记录了网站的域名. 2 ...
- PHP变量入门教程(2)超全局变量,总共9个
PHP 超全局变量 $GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量.该数组的键标为全局变量的 名称.从 PHP 3 开始存在 $GLOBALS 数组. $_SERVER 变量由 ...
- PHP超全局变量
PHP提供了九种超全局变量(数组) 1 $_GET //地址栏上获得的值 2 $_POST //POST表单发送的数据 3 $_REQUEST //GET和POST的内容全都有 4 $_SERVER ...
- php预定义变量,超全局变量,魔术方法,特殊函数变量使用
<?php /* * 本代码全部为测试函数代码,部分注释和写实例 * * 修改php.ini variables_order=”EGPCS” * 请注意$_REQUEST在优先级传参的时候会造成 ...
- PHP中超全局变量$GLOBALS和global的区别
一.超全局变量$GLOBALS PHP超全局变量有很多,如下的都属于超全局变量(Superglobal): $GLOBALS,$_SERVER,$_GET,$_POST,$_FILES,$_COOKI ...
- PHP 中的超全局变量
(1)$_GET[].一个包含所有PHP 从客户端浏览器接收的GET变量的数组. (2)$_POST[].一个包含所有PHP 从客户端浏览器接收的POST变量的数组. (3)$_COOKIE[].一个 ...
- php基础(三)超全局变量
超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量. PHP 全局变量 - 超全局变量 PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可 ...
- 【二十三】php之预定义超全局变量
php提供了九种预定义超全局变量: $_GET.$_POST.$_REQUEST.$_SERVER.$_ENV.$_FILE. $_COOKIE.$_SESSION. $GLOBALS 1.$_GET ...
- PHP学习笔记--Php预定义超全局变量$_GET
Php中的许多预定义变量都是超全局的,无需使用global声明 超全局变量 不需要声明就可以直接使用 提供超全局变量(数组)为了让程序员更快捷的编程 $GLOBALS— 引用全局作用域中可用的全部变量 ...
随机推荐
- 三、【Docker笔记】Docker镜像
镜像是Docker的三大核心概念之一.Docker在运行容器之前,本地需要存有镜像,若不存在则Docker会首先尝试从默认的镜像仓库中去下载,当然我们也可以去配置自己的仓库,如此就会从我们配置的仓库中 ...
- ovirt 重新安装主机失败
重新安装主机引擎事件报错 Host engine installation failed. Failed to execute Ansible host-deploy role. Please che ...
- Javascript/Jquery实现日期前一天后一天
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- Django-利用Form组件和ajax实现的注册
利用Form组件和ajax实现的注册 一.注册相关的知识点 1.Form组件 我们一般写Form的时候都是把它写在views视图里面,那么他和我们的视图函数也不影响,我们可以吧它单另拿出来,在应用下面 ...
- K - 回转寿司(值域段数(板题) + 动态开点)
回转寿司 Description 酷爱日料的小Z经常光顾学校东门外的回转寿司店.在这里,一盘盘寿司通过传送带依次呈现在小Z眼前.不同的寿 司带给小Z的味觉感受是不一样的,我们定义小Z对每盘寿司都有一个 ...
- web页面调用支付宝支付
web页面调用支付宝支付 此文章是前端单独模拟完成支付,若在线上环境则需要后台配合产生签名等参数 在蚂蚁金服开放平台申请沙箱环境 将沙箱环境中的密钥.应用网关.回调地址补全,生成密钥的方法在此 配置好 ...
- Java数组模拟队列
队列 先进先出 什么意思呢? 我的理解:队列就是一个数组(不包含链表),然后我们给它施加一个存数据和取数据的规则 当只允许从一端存数据,从另一端取数据的数组,就是队列,我们要做的就是给这个数组施加我们 ...
- 【Linux】系统管理
软件包管理 一 软件包分类 源码包: .tar.gz .tar.bz2 二进制包: .rpm 二 二进制包安装 (一) rpm命令手动管理二进制包 (挂载光盘) 1 包名-版本号-发布次数-适合lin ...
- 在线优化算法 FTRL 的原理与实现
在线学习想要解决的问题 在线学习 ( \(\it{Online \;Learning}\) ) 代表了一系列机器学习算法,特点是每来一个样本就能训练,能够根据线上反馈数据,实时快速地进行模型调整,使得 ...
- wireshark抓包实战(五),首选项设置和基本的抓包设置
一.首选项 首选项一般是修改软件底层的一些默认参数 选中编辑,点击首选项按钮 二.抓包选项设置 点击捕获,选中选项 1.捕获网卡设置 2.保存文件方式设置 很多情况下wireshark会保存很大的数据 ...