Blogger Information
Blog 145
fans 7
comment 7
visits 164548
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
01月13日作业:$_SERVER、验证器和数据序列化(反序列化)基本练习
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
Original
816 people have browsed it

作业一

1、$_SERVER[];

例如:echo $_SERVER['EERVER_NAME'];

2、全部变量:

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。

3、实列效果演示:

1、演示代码

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport"
  6. content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>Document</title>
  9. </head>
  10. <body>
  11. </body>
  12. </html>
  13. <?php
  14. //PHP开头的变量
  15. echo $_SERVER['PHP_SELF'].'<br>';
  16. echo $_SERVER['PHP_AUTH_DIGEST'].'<br>';
  17. echo $_SERVER['PHP_AUTH_USER'].'<br>';
  18. echo $_SERVER['PHP_AUTH_PW'].'<br>';
  19. echo '<hr>';
  20. //其他杂项变量
  21. echo $_SERVER['AUTH_TYPE'].'<br>';
  22. echo $_SERVER['PATH_INFO'].'<br>';
  23. echo $_SERVER['ORIG_PATH_INFO'].'<br>';
  24. echo $_SERVER['QUERY_STRING'].'<br>';
  25. echo $_SERVER['DOCUMENT_ROOT'].'<br>';
  26. echo $_SERVER['GATEWAY_INTERFACE'].'<br>';
  27. echo $_SERVER['PATH_TRANSLATED'].'<br>';
  28. echo $_SERVER['argc'].'<br>';
  29. echo $_SERVER['argv'].'<br>';
  30. echo '<hr>';
  31. //HTTP开头的变量
  32. echo $_SERVER['HTTP_ACCEPT'].'<br>';
  33. echo $_SERVER['HTTP_ACCEPT_CHARSET'].'<br>';
  34. echo $_SERVER['HTTP_ACCEPT_ENCODING'].'<br>';
  35. echo $_SERVER['HTTP_ACCEPT_LANGUAGE'].'<br>';
  36. echo $_SERVER['HTTP_CONNECTION'].'<br>';
  37. echo $_SERVER['HTTP_HOST'].'<br>';
  38. echo $_SERVER['HTTP_REFERER'].'<br>';
  39. echo $_SERVER['HTTP_USER_AGENT'].'<br>';
  40. echo $_SERVER['HTTPS'].'<br>';
  41. echo '<hr>';
  42. //SERVER开头的变量
  43. echo $_SERVER['SERVER_ADDR'].'<br>';
  44. echo $_SERVER['SERVER_NAME'].'<br>';
  45. echo $_SERVER['SERVER_SOFTWARE'].'<br>';
  46. echo $_SERVER['SERVER_PROTOCOL'].'<br>';
  47. echo $_SERVER['SERVER_ADMIN'].'<br>';
  48. echo $_SERVER['SERVER_PORT'].'<br>';
  49. echo $_SERVER['SERVER_SIGNATURE'].'<br>';
  50. echo '<hr>';
  51. //REQUEST开头的变量
  52. echo $_SERVER['REQUEST_METHOD'].'<br>';
  53. echo $_SERVER['REQUEST_TIME'].'<br>';
  54. echo $_SERVER['REQUEST_TIME_FLOAT'].'<br>';
  55. echo $_SERVER['REQUEST_URI'].'<br>';
  56. echo '<hr>';
  57. //REMOTE开头的变量
  58. echo $_SERVER['REMOTE_ADDR'].'<br>';
  59. echo $_SERVER['REMOTE_HOST'].'<br>';
  60. echo $_SERVER['REMOTE_PORT'].'<br>';
  61. echo $_SERVER['REMOTE_USER'].'<br>';
  62. echo $_SERVER['REDIRECT_REMOTE_USER'].'<br>';
  63. echo '<hr>';
  64. //SCRIPT开头变量
  65. echo $_SERVER['SCRIPT_FILENAME'].'<br>';
  66. echo $_SERVER['SCRIPT_NAME'].'<br>';

2、演示效果:

4手写练习:


作业二

1、Filter();

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():获取一个变量,并进行过滤。

2、filter_input();

1、INPUT_GET/POST/COOKIE
2、INPUT_ENV
3、INPUT_SERVER
4、INPUT_SESSION()
5、INPUT_REQUEST()

3、过滤器

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、演示代码:

  1. echo '查询filter支持的过滤器';
  2. echo '<pre>' . print_r(filter_list(), true) . '</pre>';
  3. echo '<hr>';
  4. #filter_has_var(); 检查是否有指定类型的量,通过浏览器地址url增加?email=0来练习测试此函数
  5. echo 'filter_has_var();的使用:','<br>';
  6. $a = filter_has_var(INPUT_GET, 'email');
  7. echo $_GET['email'];
  8. echo '<br>';
  9. var_dump($a);
  10. echo '<hr>';
  11. //filter_input();获取外部变量,并通过过滤器判断,符合则返回出变量,否则则返回FALSE;没有此变量则返回NULL。
  12. //通过浏览器地址url增加?email=li@163.com来练习测试此函数
  13. echo 'filter_input();的使用:','<br>';
  14. $b = filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);
  15. var_dump($b);
  16. echo '<hr>';
  17. //filter_var();
  18. echo 'filter_var();的使用:','<br>';
  19. $str='中国人是最牛B的';
  20. var_dump(filter_var($str,FILTER_VALIDATE_EMAIL));
  21. echo '<br>';
  22. //自定义过滤器的调用
  23. function filter_words($str){
  24. return str_replace('牛B','强大',$str);
  25. }
  26. //echo $str,'<br>';
  27. echo filter_var($str,FILTER_CALLBACK,['options'=>'filter_words']);

2、演示结果:

作业三:

1、数组序列化:serialize();
2、反序列化:unserialize();

案例演示:

1、代码:

  1. $arr=[1,2,3,4,5,6,8];
  2. $a=serialize($arr);
  3. echo $a,'<br>';
  4. echo '<pre>'.print_r(unserialize($a)).'</pre>'.'<br>';

效果图:

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:写得非常认真
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post