WEB安全之PHP基础(六):PHP超级全局变量、PHP Include文件
1.PHP超级全局变量
- PHP超级全局变量列表:
$GLOBALS 一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
$_SERVER 一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组
$_REQUEST 用于收集HTML表单提交的数据。
- name在GLOBALS里面
- $_SERVER,可以打印出全部信息
- 也可以通过foreach输出
- 空表单,可以自动获取值
- 它可以获取 cookie get post
$_POST 广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
$_GET 广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
Array []
$_FILES
$_ENV
$_COOKIE
$_SESSION
- 可以获取表单的值
- POST
- 想要获取一个可以指定下标
- GET
- 此时为二维数组,所以应指定下标取值
- 做上传时会用到
- 只有加enctype="multipart/form-data"文件才能上传
- 打印一张图片,就会返回图片信息
- 精确获取信息,二维数组给定两个键
<?php
// php预定义方法
echo "\n", $GLOBALS['y'];
echo "\n", $_SERVER['PHP_SELF'];
echo "\n", $_SERVER['SERVER_NAME'];
echo "\n", $_SERVER['HTTP_HOST'];
?>
2.PHP Include 文件
- 服务器端包含 (SSI) 用于创建可在多个页面重复使用的函数、页眉、页脚或元素。
include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。
包含文件很有用,如果您需要在网站的多张页面上引用相同的 PHP、HTML 或文本的话。 - PHP include 和 require 语句
通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件(在服务器执行它之前)。 - include 和 require 语句是相同的,除了错误处理方面:
require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
include 只生成警告(E_WARNING),并且脚本会继续 - 因此,如果您希望继续执行,并向用户输出结果,即使包含文件已丢失,那么请使用 include。否则,在框架、CMS 或者复杂的 PHP 应用程序编程中,请始终使用 require 向执行流引用关键文件。这有助于提高应用程序的安全性和完整性,在某个关键文件意外丢失的情况下。
包含文件省去了大量的工作。这意味着您可以为所有页面创建标准页头、页脚或者菜单文件。然后,在页头需要更新时,您只需更新这个页头包含文件即可。 - 语法
include 'filename';
或
require 'filename';
- 新建demo1文件夹,并在里面定义一个函数
- 发现此时可以调用fun1()
- 可访问
- 输出fun1()
- 一个网站分为头部、底部和主体,主体一般是有变化的
- 新建文件夹demo2,创建index,head,footer
- index为主体
- 引用
- 大多数情况网站生成了警告,脚本还是会继续,所以大多数情况会用include