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— 引用全局作用域中可用的全部变量 ...
随机推荐
- [poj1061]青蛙的约会<扩展欧几里得>
题目链接:http://poj.org/problem?id=1061 其实欧几里得我一直都知道,只是扩展欧几里得有点蒙,所以写了一道扩展欧几里得裸题. 欧几里得算法就是辗转相除法,求两个数的最大公约 ...
- Chart控件的使用
1.开启滚动条(ScaleView.Size除以Interval ,大概是中间出现纵线的数量,一般动ScaleView.Size) chart1.ChartAreas[0].CursorX.AutoS ...
- P3381 【模板】最小费用最大流(MCMF)
P3381 [模板]最小费用最大流 题目描述 如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用. 输入格式 第一行包含四个正整数N ...
- 写给程序员的机器学习入门 (二) - pytorch 与矩阵计算入门
pytorch 简介 pytorch 是目前世界上最流行的两个机器学习框架的其中之一,与 tensoflow 并峙双雄.它提供了很多方便的功能,例如根据损失自动微分计算应该怎样调整参数,提供了一系列的 ...
- LoadRunner从入门到实战学习路线(持续更新中...)
写在前面 我是一个测试工程师,从土木工程行业转行到互联网行业,目前是工作的第三年.平时主要做功能测试,性能测试接触比较少,虽然以前培训的时候学习过一些性能相关的知识,但都是入门初级的知识 ...
- PowerShell入门简介
文章更新于:2020-03-03 一.PowerShell简介 说实话,我总感觉 PowerShell 是 cmd 的加强版,但是看官方介绍,功能甚是强大,用处有待我们发掘. 二.PowerShell ...
- 10.2 io流 之字节流和字符流
FileWriter 用于写入字符流.要写入原始字节流,请考虑使用 FileOutputStream. io流相关文档: https://www.cnblogs.com/albertrui/p/836 ...
- "为文本添加下划线"组件:<u> —— 快应用组件库H-UI
 <import name="u" src="../Common/ui/h-ui/text/c_tag_underline"></impor ...
- python字符串列表元组序列操作
Table of Contents generated with DocToc python系列-字符串.列表.元组的操作 序列的访问及运算符 序列通用操作 访问单个元素 切片访问一部分元素 序列的复 ...
- Linux c++ vim环境搭建系列(2)——Ubuntu18.04.4编译安装llvm clang
2. 源码编译安装llvm clang 参考网址: https://llvhttps