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— 引用全局作用域中可用的全部变量 ...
随机推荐
- yum-程序包管理器前端工具
一.要想使用yum先要指定yum源 /etc/yum.com /etc/yum.repos.d/*repo 一.yum的使用 yum [option] command 包名 option -y: c ...
- Activiti组任务
一.Candidate-users候选人 1.需求 在流程定义中在任务节点的assignee固定设置任务负责人,在流程定义时将参数者固定设置在.bpmn文件中,如果临时任务负责人变更则需要修改流程定义 ...
- vulnhub~sunset:dusk1
晚上闲来无事,准备做个target,结果是各种错误.在睡觉前还是没有顺利的做出来.先将TroubleSHOOTing 总结如下: 在用hydra爆破mysql的时候,发现 'MySql Host is ...
- JDBC获取连接抛出java.sql.SQLException: The server time zone...
今天尝试数据库,代码确实没问题就是给了给这个东西 java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecogniz ...
- Pointer Lock API(3/3):一个Demo
简单的Demo演练 点击跳转至Code Pen以查看演示和源码 完整代码 <!DOCTYPE HTML> <html lang="en-US"> <h ...
- Linux命令后面加 & 的作用
在命令的后面加一个 & 的作用是,将这个任务放到后台执行.看下面的例子. 输入gedit回车,可以看到,打开了Linux的文本编辑器,但是命令窗口执行不了其他命令了,只有退出文本编辑器才能继续 ...
- MyBatis 学习笔记(1)
MyBatis 的基本构成 SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成 SqlSessionFactory(工厂接口) SqlSessionFactor ...
- python3(八) function
# Python 常用内置函数 https://docs.python.org/3/library/functions.html#abs print(help(abs)) # Return the a ...
- std::chrono计算程序运行时间
void CalRunTime() { auto t1=std::chrono::steady_clock::now(); //run code auto t2=std::chrono::steady ...
- Centos7_搭建暗网网站
Tor运行原理 请求方需要使用:洋葱浏览器(Tor Browser)来对暗网网站进行访问 响应放需要使用:Tor协议的的Hidden_service 搭建步骤 更新YUM源: rpm -Uvh htt ...