登录  /  注册
博主信息
博文 25
粉丝 1
评论 1
访问量 19757
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP中$_SERVER变量及常用过滤器--PHP线上培训十期0113
高的PHP十期培训学习笔记
原创
752人浏览过

PHP中$_SERVER变量

  1. $_SERVER['PHP_SELF'] #当前正在执行 脚本的文件名,与 document root相关。
  2. $_SERVER['argv'] #传递给该 脚本的参数。
  3. $_SERVER['argc'] #包含传递给程序的 命令行参数的个数(如果运行在命令行模式)。
  4. $_SERVER['GATEWAY_INTERFACE'] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
  5. $_SERVER['SERVER_NAME'] #当前 运行脚本所在服务器 主机的名称。
  6. $_SERVER['SERVER_SOFTWARE'] #服务器标识的字串,在响应请求时的头部中给出。
  7. $_SERVER['SERVER_PROTOCOL'] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
  8. $_SERVER['REQUEST_METHOD'] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
  9. $_SERVER['QUERY_STRING'] #查询(query)的字符串。
  10. $_SERVER['DOCUMENT_ROOT'] #当前 运行脚本所在的文档根目录。在服务器配置文件中定义。
  11. $_SERVER['HTTP_ACCEPT'] #当前请求的 Accept: 头部的内容。
  12. $_SERVER['HTTP_ACCEPT_CHARSET'] #当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。
  13. $_SERVER['HTTP_ACCEPT_ENCODING'] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。
  14. $_SERVER['HTTP_ACCEPT_LANGUAGE']#当前请求的 Accept-Language: 头部的内容。例如:“en”。
  15. $_SERVER['HTTP_CONNECTION'] #当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
  16. $_SERVER['HTTP_HOST'] #当前请求的 Host: 头部的内容。
  17. $_SERVER[' HTTP_REFERER'] #链接到当前页面的前一页面的 URL 地址。
  18. $_SERVER[' HTTP_USER_AGENT'] #当前请求的 User-Agent: 头部的内容。
  19. $_SERVER['HTTPS'] 如果通过https访问,则被设为一个非空的值(on),否则返回off
  20. $_SERVER['REMOTE_ADDR'] #正在浏览当前页面用户的 IP 地址。
  21. $_SERVER['REMOTE_HOST'] #正在浏览当前页面用户的 主机名。
  22. $_SERVER['REMOTE_PORT'] #用户连接到服务器时所使用的端口。
  23. $_SERVER['SCRIPT_FILENAME'] #当前执行 脚本的 绝对路径名。
  24. $_SERVER['SERVER_ADMIN'] # 管理员信息
  25. $_SERVER['SERVER_PORT'] #服务器所使用的端口
  26. $_SERVER['SERVER_SIGNATURE'] #包含服务器版本和 虚拟主机名的字符串。
  27. $_SERVER['PATH_TRANSLATED'] #当前 脚本所在文件系统(不是文档根目录)的基本路径。
  28. $_SERVER['SCRIPT_NAME'] #包含当前 脚本的路径。这在页面需要指向自己时非常有用。
  29. $_SERVER['REQUEST_URI'] #访问此页面所需的 URI。例如,“/index.html”

运行结果:

PHP Filter 函数

filter_has_var() 检查是否存在指定输入类型的变量。
filter_id() 返回指定过滤器的 ID 号。
filter_input() 从脚本外部获取输入,并进行过滤。
filter_input_array() 从脚本外部获取多项输入,并进行过滤。
filter_list() 返回包含所有得到支持的过滤器的一个数组。
filter_var_array() 获取多项变量,并进行过滤。
filter_var() 获取一个变量,并进行过滤。

PHP 过滤器

FILTER_CALLBACK:调用用户自定义的函数来过滤数据
FILTER_VALIDATE_INT:在指定的范围以整数验证值。
FILTER_VALIDATE_BOOLEAN:如果是 “1”, “true”, “on” 以及 “yes”,则返回 true,如果是 “0”, “false”, “off”, “no” 以及 “”,则返回 false。否则返回 NULL。
FILTER_VALIDATE_FLOAT:以浮点数验证值。
FILTER_VALIDATE_URL:把值作为 URL 来验证。
FILTER_VALIDATE_EMAIL:把值作为 e-mail 来验证。
FILTER_VALIDATE_IP:把值作为 IP 地址来验证。

过滤器的使用例子

  1. // 过滤器
  2. // $email = 'admin@php.cn';
  3. $email = 'admin@sdfg';
  4. //通过过滤器判断EMAIL变量的格式是否正确
  5. echo filter_var($email, FILTER_VALIDATE_EMAIL) ? '邮箱格式正确' : '邮箱格式错误';

验证请求来源的合法性例子

  1. // 验证请求来源的合法性
  2. $refererDir = dirname(filter_input(INPUT_SERVER, 'HTTP_REFERER'));
  3. // 允许访问当前页面的url数组: 白名单
  4. $urls = [
  5. $refererDir. '/login.php',
  6. $refererDir. '/admin.php',
  7. ];
  8. // 当前的请求源地址
  9. $url = filter_input(INPUT_SERVER, 'HTTP_REFERER');
  10. // 判断请求来源是否合法?
  11. if (!in_array($url, $urls)) {
  12. exit('非法来源');
  13. } else {
  14. die('合法来源');
  15. }

自定义过滤器的使用例子

  1. // 自定义过滤器
  2. function filter_replace($str)
  3. {
  4. return str_replace('php语言', '编程开发', $str);
  5. }
  6. $str = 'php中文网是一个专业学习的php语言的网站';
  7. echo $str . '<br>';
  8. echo filter_var($str, FILTER_CALLBACK, ['options'=>'filter_replace']);

PHP序列化

1. 变量序列化

  1. $var = 'php中文网是一个专业学习的php语言的网站';
  2. // 变量序列化
  3. echo serialize($var);


serialize(): 产生一个可存储的值的表示。返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。
2. 数组序列化

  1. //创建一个数组
  2. $arr = ['admin', '123456', 32,'男', '安徽'];
  3. echo serialize($arr);


3. 反序列化

  1. $arr =unserialize('a:5:{i:0;s:5:"admin";i:1;s:6:"123456";i:2;i:32;i:3;s:3:"男";i:4;s:6:"安徽";}');
  2. print_r($arr);

手写PHP中的 $_SERVER变量

批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学