Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:不是一般的认真...
服务器数组常量, 非常重要, 一定要记住, 特别是一些特别常用的
$_SERVER['HTTP_HOST']
请求头信息中的Host内容,获取当前域名。$_SERVER["SERVER_NAME"]
输出配置文件httpd.conf中的ServerName,一般情况下与HTTP_HOST值相同,但如果服务器端口不是默认的80端口,或者协议规范不是HTTP/1.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"]
得到请求开始时的时间戳。
<?php
echo $_SERVER['HTTP_HOST'].'<br />';
echo $_SERVER["SERVER_NAME"].'<br />';
echo $_SERVER["HTTP_USER_AGENT"].'<br />';
echo $_SERVER['HTTP_ACCEPT'].'<br />';
echo $_SERVER["HTTP_ACCEPT_LANGUAGE"].'<br />';
echo $_SERVER["HTTP_ACCEPT_ENCODING"].'<br />';
echo $_SERVER["HTTP_COOKIE"].'<br />';
echo $_SERVER["HTTP_CONNECTION"].'<br />';
echo $_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS"].'<br />';
echo $_SERVER["PATH"].'<br />';
echo $_SERVER["SystemRoot"].'<br />';
echo $_SERVER["COMSPEC"].'<br />';
echo $_SERVER["PATHEXT"].'<br />';
echo $_SERVER["WINDIR"].'<br />';
echo $_SERVER["SERVER_SIGNATURE"].'<br />';
echo $_SERVER["SERVER_SOFTWARE"].'<br />';
echo $_SERVER["SERVER_ADDR"].'<br />';
echo $_SERVER["SERVER_PORT"].'<br />';
echo $_SERVER["REMOTE_ADDR"].'<br />';
echo $_SERVER["DOCUMENT_ROOT"].'<br />';
echo $_SERVER["REQUEST_SCHEME"].'<br />';
echo $_SERVER["CONTEXT_PREFIX"].'<br />';
echo $_SERVER["CONTEXT_DOCUMENT_ROOT"].'<br />';
echo $_SERVER["SERVER_ADMIN"].'<br />';
echo $_SERVER["SCRIPT_FILENAME"].'<br />';
echo $_SERVER ["REMOTE_PORT"].'<br />';
echo $_SERVER["GATEWAY_INTERFACE"].'<br />';
echo $_SERVER["SERVER_PROTOCOL"].'<br />';
echo $_SERVER["REQUEST_METHOD"].'<br />';
echo $_SERVER["QUERY_STRING"].'<br />';
echo $_SERVER["REQUEST_URI"].'<br />';
echo $_SERVER["SCRIPT_NAME"].'<br />';
echo $_SERVER["PHP_SELF"].'<br />';
echo $_SERVER["REQUEST_TIME"].'<br />';
filter_has_var(类型,变量)
, 检测是否存在指定类型的变量序号 | 类型 | 描述 |
---|---|---|
1. | INPUT_GET | GET方式提交 |
2. | INPUT_POST | POST方式提交 |
3. | INPUT_SERVER | 服务器变量 |
4. | INPUT_COOKIE | cookie |
filter_input(类型,变量,过滤器)
, 通过名称获取特定的外部变量,并且可以通过过滤器处理它序号 | 类型 | 描述 |
---|---|---|
1. | INPUT_GET | GET方式提交 |
2. | INPUT_POST | POST方式提交 |
3. | INPUT_SERVER | 服务器变量 |
4. | INPUT_COOKIE | cookie |
filter_list
,返回所支持的过滤器列表
代码示例与运行结果:
<?php
echo filter_has_var(INPUT_GET,'email');
echo '<hr/>';
echo filter_input(INPUT_GET,'email',FILTER_VALIDATE_EMAIL);
echo '<hr/>';
var_dump(filter_list());
echo '<hr/>';
echo filter_input(INPUT_SERVER,'REQUEST_URI');
serialize
,序列化对象或数组,并返回一个字符串unserialize
,反序列化,将一个序列化字符串转为数组或对象
<?php
$serialize_str=serialize([1,2,3,4,5]);
echo $serialize_str;
echo '<hr />';
$arr=unserialize($serialize_str);
var_dump($arr);