博客列表 >PHP基础 数据验证与数据序列化------PHP培训十期线上班 学号:510251 01月13日作业

PHP基础 数据验证与数据序列化------PHP培训十期线上班 学号:510251 01月13日作业

赵大叔
赵大叔原创
2020年02月23日 11:37:46730浏览

数据验证与数据序列化

一、$_SERVER变量:

1、$_SERVER['PHP_SELF']:当前执行脚本的文件名,与 document root 有关。
2、$_SERVER['GATEWAY_INTERFACE']:服务器使用的 CGI 规范的版本;例如,“CGI/1.1”。
3、$_SERVER['SERVER_ADDR']:当前运行脚本所在的服务器的 IP 地址。
4、$_SERVER['SERVER_NAME']:当前运行脚本所在的服务器的主机名。
5、$_SERVER['SERVER_SOFTWARE']:服务器标识字符串,在响应请求时的头信息中给出。
6、$_SERVER['SERVER_PROTOCOL']:请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
7、$_SERVER['REQUEST_METHOD']:访问页面使用的请求方法;例如,“GET”, “HEAD”,“POST”,“PUT”。
8、$_SERVER['REQUEST_TIME']:请求开始时的时间戳。从 PHP 5.1.0 起可用。
9、$_SERVER['REQUEST_TIME_FLOAT']:请求开始时的时间戳,微秒级别的精准度。 自 PHP 5.4.0 开始生效。
10、$_SERVER['QUERY_STRING']:query string(查询字符串),如果有的话,通过它进行页面访问。
11、$_SERVER['DOCUMENT_ROOT']:当前运行脚本所在的文档根目录。在服务器配置文件中定义。
12、$_SERVER["REQUEST_SCHEME"]:服务器通信协议,是http或https。
13、$_SERVER["CONTEXT_PREFIX"]:前缀。
14、$_SERVER["CONTEXT_DOCUMENT_ROOT"]:当前脚本所在的文档根目录。
15、$_SERVER['HTTP_ACCEPT']:当前请求头中 Accept: 项的内容。
16、$_SERVER['HTTP_ACCEPT_ENCODING']:当前请求头中 Accept-Encoding: 项的内容。
17、$_SERVER["HTTP_COOKIE"]:浏览器的cookie信息。

18、$_SERVER['HTTP_ACCEPT_LANGUAGE']:当前请求头中 Accept-Language: 项的内容,如果存在的话。例如:“en”。

19、$_SERVER['HTTP_CONNECTION']:当前请求头中 Connection: 项的内容,如果存在的话。例如:“Keep-Alive”。
20、$_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS"]:表示浏览器可读懂服务器发过来的请求。
21、$_SERVER["HTTP_CACHE_CONTROL"]:表示浏览器是否会缓存这个页面信息。
22、$_SERVER["PATH"]:当前脚本所在文件系统。
23、$_SERVER["SystemRoot"]:当前服务器的操作系统。
24、$_SERVER["COMSPEC"]:指向cmd.exe的路径。
25、$_SERVER["PATHEXT"]:环境变量设置。
26、$_SERVER["WINDIR"]:脚本指向的系统目录。
27、$_SERVER['HTTP_HOST']:当前请求头中 Host: 项的内容。
28、$_SERVER['HTTP_USER_AGENT']:当前请求头中 User-Agent: 项的内容。
29、$_SERVER['REMOTE_ADDR']:浏览当前页面的用户的 IP 地址。
30、$_SERVER['REMOTE_PORT']:用户机器上连接到 Web 服务器所使用的端口号。
31、$_SERVER['SCRIPT_FILENAME']:当前执行脚本的绝对路径。
32、$_SERVER['SERVER_ADMIN']:该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
33、$_SERVER['SERVER_PORT']:Web 服务器使用的端口。默认值为 “80”。
34、$_SERVER['SCRIPT_NAME']:包含当前脚本的路径。
35、$_SERVER['REQUEST_URI']:URI 用来指定要访问的页面。例如 “/index.html”。

代码演示

  1. <?php
  2. echo $_SERVER['PHP_SELF'].'<hr>';
  3. //echo $_SERVER['argv'].'<hr>';
  4. //echo $_SERVER['argc'].'<hr>';
  5. echo $_SERVER['GATEWAY_INTERFACE'].'<hr>';
  6. echo $_SERVER['SERVER_ADDR'].'<hr>';
  7. echo $_SERVER['SERVER_NAME'].'<hr>';
  8. echo $_SERVER['SERVER_SOFTWARE'].'<hr>';
  9. echo $_SERVER['SERVER_PROTOCOL'].'<hr>';
  10. echo $_SERVER['REQUEST_METHOD'].'<hr>';
  11. echo $_SERVER['REQUEST_TIME'].'<hr>';
  12. echo $_SERVER['REQUEST_TIME_FLOAT'].'<hr>';
  13. echo $_SERVER['QUERY_STRING'].'<hr>';
  14. echo $_SERVER['DOCUMENT_ROOT'].'<hr>';
  15. echo $_SERVER["REQUEST_SCHEME"].'<hr>';
  16. echo $_SERVER["CONTEXT_PREFIX"].'<hr>';
  17. echo $_SERVER["CONTEXT_DOCUMENT_ROOT"].'<hr>';
  18. echo $_SERVER['HTTP_ACCEPT'].'<hr>';
  19. //echo $_SERVER['HTTP_ACCEPT_CHARSET'].'<hr>';
  20. echo $_SERVER['HTTP_ACCEPT_ENCODING'].'<hr>';
  21. echo $_SERVER["HTTP_COOKIE"].'<hr>';
  22. echo $_SERVER['HTTP_ACCEPT_LANGUAGE'].'<hr>';
  23. echo $_SERVER['HTTP_CONNECTION'].'<hr>';
  24. echo $_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS"].'<hr>';
  25. echo $_SERVER["HTTP_CACHE_CONTROL"].'<hr>';
  26. echo $_SERVER["PATH"].'<hr>';
  27. echo $_SERVER["SystemRoot"].'<hr>';
  28. echo $_SERVER["COMSPEC"].'<hr>';
  29. echo $_SERVER["PATHEXT"].'<hr>';
  30. echo $_SERVER["WINDIR"].'<hr>';
  31. echo $_SERVER['HTTP_HOST'].'<hr>';
  32. //echo $_SERVER['HTTP_REFERER'].'<hr>';
  33. echo $_SERVER['HTTP_USER_AGENT'].'<hr>';
  34. //echo $_SERVER['HTTPS'].'<hr>';
  35. echo $_SERVER['REMOTE_ADDR'].'<hr>';
  36. //echo $_SERVER['REMOTE_HOST'].'<hr>';
  37. echo $_SERVER['REMOTE_PORT'].'<hr>';
  38. //echo $_SERVER['REMOTE_USER'].'<hr>';
  39. //echo $_SERVER['REDIRECT_REMOTE_USER'].'<hr>';
  40. echo $_SERVER['SCRIPT_FILENAME'].'<hr>';
  41. echo $_SERVER['SERVER_ADMIN'].'<hr>';
  42. echo $_SERVER['SERVER_PORT'].'<hr>';
  43. //echo $_SERVER['SERVER_SIGNATURE'].'<hr>';
  44. //echo $_SERVER['PATH_TRANSLATED'].'<hr>';
  45. echo $_SERVER['SCRIPT_NAME'].'<hr>';
  46. echo $_SERVER['REQUEST_URI'].'<hr>';
  47. //echo $_SERVER['PHP_AUTH_DIGEST'].'<hr>';
  48. //echo $_SERVER['PHP_AUTH_USER'].'<hr>';
  49. //echo $_SERVER['PHP_AUTH_PW'].'<hr>';
  50. //echo $_SERVER['AUTH_TYPE'].'<hr>';
  51. //echo $_SERVER['PATH_INFO'].'<hr>';
  52. //echo $_SERVER['ORIG_PATH_INFO'].'<hr>';

演示效果图:

二、过滤器:

1、filter_list,返回所支持的过滤器列表
2、filter_has_var(类型,变量), 检测是否存在指定类型的变量

  • filter_has_var()不检查静态数据,只检查动态提交数据

2.1 INPUT_GET:GET方式提交
2.2 INPUT_POST:POST方式提交
2.3 INPUT_SERVER:服务器变量
2.4 INPUT_COOKIE:cookie

3、filter_input(类型,变量,过滤器), 通过名称获取特定的外部变量,并且可以通过过滤器处理它
3.1 INPUT_GET:GET方式提交
3.2 INPUT_POST:POST方式提交
3.3 INPUT_SERVER:服务器变量
3.4 INPUT_COOKIE:cookie

  1. <?php
  2. //查看支持的过滤器
  3. echo '<pre>';
  4. print_r(filter_list());
  5. echo '</pre>';
  6. //判断邮箱是否存在
  7. echo filter_has_var(INPUT_GET,'email');
  8. echo '<hr/>';
  9. echo filter_input(INPUT_GET,'email',FILTER_VALIDATE_EMAIL);
  10. echo '<hr/>';
  11. echo filter_input(INPUT_SERVER,'REQUEST_URI');

三、序列化

1、serialize,序列化对象或数组,并返回一个字符串
2、unserialize,反序列化,将一个序列化字符串转为数组或对象

  1. <?php
  2. $arr = [2, 3, 1, 9, 4, 5];
  3. //序列化
  4. echo serialize($arr);
  5. //反序列化
  6. print_r(unserialize(serialize($arr)));

四、手写$_SERVER常用变量

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议