例如:echo $_SERVER['EERVER_NAME'];
1、PHP_SELF:当前正在执行的脚本的文件名,与document root 有关。
2、argv:传递给该脚本的参数
3、argc:包含传递给程序的 命令行参数的个数
4、GATEWAY_INTERFACE:服务器使用的CGI的规范的版本
5、SERVER_NAME:当前运行脚本所在的服务器 主机名称
6、SERVER_SOFTWARE:服务器标识的字串,在响应的请求时的头部中给出
7、SERVER_PROTOCOL:请求页面时通信协议的名称和版本。例如:”HTTP/1.0”
8、REQUEST_METHOD:访问页面时的请求方法。
9、QUERY_STRING:查询(query)的字符串
10、DOCUMENT_ROOT:当前运行脚本所在的文档根目录,在服务器配置文件中定义
11、HTTP_ACCEPT:当前的请求的Accept:头部内容
12、HTTP_ACCEPT_CHARSET/HTTP_ACCEPT_ENCODING/HTTP_ACCEPT_LANGUAGE:当前请求的头部内容
13、HTTP_CONNECTION:当前请求的connection:头部内容,例如”Keep-Alive”
14、HTTP_HOST:当前请求头中 Host: 项的内容
15、HTTP_REFERER:链接到当前页面的前一页的URL地址
16、HTTP_USER_AGENT:当前请求的user-agent
17、HTTPS:如果通过https访问,则备被设为一个非空值(on),否则返回(off)
18、REMOTE_ADDR:正在浏览当前页面用户的IP地址
19、REMOTE_HOST:正在浏览当前页面用户的主机名
20、REMOTE_PORT:用户链接到服务器时所使用的端口
22、SCRIPT_FILENAME:当前执行脚本的绝对路径
23、SERVER_ADMIN:管理员信息
24、SERVER_PORT:服务器使用的端口
25、SERVER_SIGNATURE:服务器版本信息和虚拟主机名的字符串
26、PATH_TRANSLATED:当前甲苯所在的文件系统(不是文档根目录)的基本路径
27、SCRIPT_NAME:当前脚本路径
28、REQUEST_URI:访问此页面所需的URI。
1、演示代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
</html>
<?php
//PHP开头的变量
echo $_SERVER['PHP_SELF'].'<br>';
echo $_SERVER['PHP_AUTH_DIGEST'].'<br>';
echo $_SERVER['PHP_AUTH_USER'].'<br>';
echo $_SERVER['PHP_AUTH_PW'].'<br>';
echo '<hr>';
//其他杂项变量
echo $_SERVER['AUTH_TYPE'].'<br>';
echo $_SERVER['PATH_INFO'].'<br>';
echo $_SERVER['ORIG_PATH_INFO'].'<br>';
echo $_SERVER['QUERY_STRING'].'<br>';
echo $_SERVER['DOCUMENT_ROOT'].'<br>';
echo $_SERVER['GATEWAY_INTERFACE'].'<br>';
echo $_SERVER['PATH_TRANSLATED'].'<br>';
echo $_SERVER['argc'].'<br>';
echo $_SERVER['argv'].'<br>';
echo '<hr>';
//HTTP开头的变量
echo $_SERVER['HTTP_ACCEPT'].'<br>';
echo $_SERVER['HTTP_ACCEPT_CHARSET'].'<br>';
echo $_SERVER['HTTP_ACCEPT_ENCODING'].'<br>';
echo $_SERVER['HTTP_ACCEPT_LANGUAGE'].'<br>';
echo $_SERVER['HTTP_CONNECTION'].'<br>';
echo $_SERVER['HTTP_HOST'].'<br>';
echo $_SERVER['HTTP_REFERER'].'<br>';
echo $_SERVER['HTTP_USER_AGENT'].'<br>';
echo $_SERVER['HTTPS'].'<br>';
echo '<hr>';
//SERVER开头的变量
echo $_SERVER['SERVER_ADDR'].'<br>';
echo $_SERVER['SERVER_NAME'].'<br>';
echo $_SERVER['SERVER_SOFTWARE'].'<br>';
echo $_SERVER['SERVER_PROTOCOL'].'<br>';
echo $_SERVER['SERVER_ADMIN'].'<br>';
echo $_SERVER['SERVER_PORT'].'<br>';
echo $_SERVER['SERVER_SIGNATURE'].'<br>';
echo '<hr>';
//REQUEST开头的变量
echo $_SERVER['REQUEST_METHOD'].'<br>';
echo $_SERVER['REQUEST_TIME'].'<br>';
echo $_SERVER['REQUEST_TIME_FLOAT'].'<br>';
echo $_SERVER['REQUEST_URI'].'<br>';
echo '<hr>';
//REMOTE开头的变量
echo $_SERVER['REMOTE_ADDR'].'<br>';
echo $_SERVER['REMOTE_HOST'].'<br>';
echo $_SERVER['REMOTE_PORT'].'<br>';
echo $_SERVER['REMOTE_USER'].'<br>';
echo $_SERVER['REDIRECT_REMOTE_USER'].'<br>';
echo '<hr>';
//SCRIPT开头变量
echo $_SERVER['SCRIPT_FILENAME'].'<br>';
echo $_SERVER['SCRIPT_NAME'].'<br>';
2、演示效果:
1、filter_has_var()
:检查是否存在指定输入类型的变量
2、filter_id()
:返回指定过滤器的ID号
3、filter_input()
:从脚本外部获取输入,并且进行过滤
4、filter_input_array()
:从脚本外部获取多项输入,并且进行过滤。
5、filter_list()
:返回包含所有得到支持的过滤器的一个数组
6、filter_var_array()
:获取多项变量,并进行过滤
7、filter_var()
:获取一个变量,并进行过滤。
filter_input();
1、INPUT_GET/POST/COOKIE
2、INPUT_ENV
3、INPUT_SERVER
4、INPUT_SESSION()
5、INPUT_REQUEST()
1、FILTER_CALLBACK:调用用户自定义的函数来过滤数据
2、FILTER_VALIDATE_INT:在指定的范围以整数验证值。
3、FILTER_VALIDATE_BOOLEAN:如果是 “1”, “true”, “on” 以及 “yes”,则返回 true,如果是 “0”, “false”, “off”, “no” 以及 “”,则返回 false。否则返回 NULL。
4、FILTER_VALIDATE_FLOAT:以浮点数验证值。
5、FILTER_VALIDATE_URL:把值作为 URL 来验证。
6、FILTER_VALIDATE_EMAIL:把值作为 e-mail 来验证。
7、FILTER_VALIDATE_IP:把值作为 IP 地址来验证。
1、演示代码:
echo '查询filter支持的过滤器';
echo '<pre>' . print_r(filter_list(), true) . '</pre>';
echo '<hr>';
#filter_has_var(); 检查是否有指定类型的量,通过浏览器地址url增加?email=0来练习测试此函数
echo 'filter_has_var();的使用:','<br>';
$a = filter_has_var(INPUT_GET, 'email');
echo $_GET['email'];
echo '<br>';
var_dump($a);
echo '<hr>';
//filter_input();获取外部变量,并通过过滤器判断,符合则返回出变量,否则则返回FALSE;没有此变量则返回NULL。
//通过浏览器地址url增加?email=li@163.com来练习测试此函数
echo 'filter_input();的使用:','<br>';
$b = filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);
var_dump($b);
echo '<hr>';
//filter_var();
echo 'filter_var();的使用:','<br>';
$str='中国人是最牛B的';
var_dump(filter_var($str,FILTER_VALIDATE_EMAIL));
echo '<br>';
//自定义过滤器的调用
function filter_words($str){
return str_replace('牛B','强大',$str);
}
//echo $str,'<br>';
echo filter_var($str,FILTER_CALLBACK,['options'=>'filter_words']);
2、演示结果:
1、数组序列化:serialize();
2、反序列化:unserialize();
1、代码:
$arr=[1,2,3,4,5,6,8];
$a=serialize($arr);
echo $a,'<br>';
echo '<pre>'.print_r(unserialize($a)).'</pre>'.'<br>';
效果图: