PHP 文件包含include/require

在一个 PHP 脚本中,去将另一个文件包含进来

文件包含的作用

实现代码共享重用,协作共同完成一件事

  1. 使用被包含文件中的内容:向上包含(所要)

  2. 自己的东西可以给别的文件使用:向下包含(给与)

文件包含的四种形式

  1. include 包含文件
  2. include_once 一个文件最多被包含一次
  3. require 与 include 相同
  4. require_once 与 include_once 相同

语法

include '文件路径';
include('文件路径');
  • 向上包含:先包含文件,再使用文件中的内容
  • 向下包含:先准备内容,然后包含另外的文件,在另外的文件中使用当前内容

示例: 向上包含

<?php
// demo1.php$PI = 3.14;
<?php
// demo.phpinclude 'demo1.php';echo $PI;
// 3.14

示例: 向下包含

<?php
// demo1.php$PI = 3.14;include 'demo.php';
// 3.14
<?php
// demo.phpecho $PI;

文件加载原理

文件加载(include 或者 require)的时候,系统会自动将被包含的文件中的代码嵌入到当前文件中

在哪里加载,就嵌入到哪里

PHP 代码的执行流程

  1. 读取 PHP 代码文件
  2. 编译:将 PHP 代码转换成字节码(opcode)
  3. zendengine 来解析 opcode,按照字节码去进行逻辑运算
  4. 转换成对应的 HTML 代码

PHP 中被包含的文件是单独进行编译的

PHP 文件在编译的过程中,如果出现了语法错误,那么会失败(不会执行);

但是,如果被包含的文件有错误的时候,系统会在执行到包含 include 这条语句的时候才会报错

示例

<?php
// demo.php// 此处故意少了一个分号
echo $PI
<?php
// demo1.php$PI = 3.14;// 该行正常输出
echo 'hello';// 执行到该行会报错
include 'demo.php';
// helloPHP Parse error:  syntax error, unexpected end of file, expecting ',' or ';'

include 和 require 区别

include 和 include_once 区别

  • include:系统碰到一次,执行一次,如果多次加载,会执行多次
  • include_once:系统碰到多次,也只会执行一次

include 和 require 区别

  • 相同点:都是包含文件
  • 不同点:包含不到文件时,报错的形式不一样
    • include 如果包含出错代码,会继续执行 Warning
    • require 如果包含出错代码,不在继续执行 Fatal

文件加载路径

1、绝对路径:(/)

  • 从磁盘的根目录开始(本地绝对路径)
  • 从网站根目录开始(网络绝对路径)

2、相对路径:从当前文件所在目录开始的路径

  • . 表示当前文件夹
  • ./ 表示当前路径
  • ../ 表示上级目录

绝对路径和相对路径的加载区别

  • 绝对路径效率偏低,路径不会出错
  • 相对路径效率高,容错出错
// 相对路径
include_once 'demo.php'; // 默认当前文件本身
include_once './demo.php';
include_once '../demo.php';// 绝对路径
include_once '/lib/demo.php';

文件嵌套包含

一个文件包含另个文件,另个文件又包含其他文件

嵌套包含相对路径容易出错

PHP 零基础入门笔记(8):PHP 文件包含include/require相关推荐

  1. 11岁过python1级_11岁表弟写的Python零基础入门笔记!

    一.Python输入与输出输出:使用print()函数. print()函数的基本语法格式如下:print(输出内容). 输出内容可以是数字和字符串(字符串需要用引号括起来),也可以是包含运算符的表达 ...

  2. 【Python3零基础入门笔记】05 Python时间处理——time库的使用

    time库的使用: time库基本情况 时间获取 时间格式化 程序计时 文本进度条实例 time库基本情况 Time库是python中处理时间的标准库 计算机时间表达 提供获取系统时间并格式化输出功能 ...

  3. 零基础入门学习Python(26)-文件1

    什么是文件 Windows是以扩展名指出文件是什么类型的:.exe是可执行文件格式:.txt是文本文件:.avi是视频格式:.mp4是视频格式:.jpg是图片格式 打开文件 在Python中,使用op ...

  4. PHP 零基础入门笔记(11):字符串 String

    字符串 String 字符串类型 单引号字符串 双引号字符串 nowdoc 字符串 heredoc 字符串 示例 <?php// 1.单引号字符串 $str1 = 'hello world';v ...

  5. PHP 零基础入门笔记(3):PHP 变量和常量

    PHP 变量和常量 PHP 基本语法 PHP 是一种运行在服务器端的脚本语言,可以嵌入到 HTML 中 1.PHP 代码标记 ASP 标记(asp_tags,已弃用) <% php代码 %> ...

  6. PHP 零基础入门笔记(6):PHP 流程控制

    PHP 流程控制 代码执行的方向 控制分类 顺序结构 代码从上往下,顺序执行 分支结构 根据条件执行某一段代码 循环结构 指定代码块重复执行 顺序结构 最基本的结构,所有代码默认都是从上往下依次执行 ...

  7. PHP 零基础入门笔记(2):安装PHP

    安装PHP demo.php <?phpecho "Hello World"; 解释执行php脚本 $ php demo.php Hello World apache htt ...

  8. python 零基础入门笔记

    作用 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,在许多领域都有应用,包括Web编程,脚本编写,科学计算和人工智能等. 特点 Python 是一种: 解释型语言: 开发过程中没 ...

  9. Java零基础入门笔记-准备工作

    自主搭建Java开发环境 (个人建议开一个独立盘用于编程软件安装) 1.下载并安装jdk(1.5以上版本无需配置classpath路径,系统会自动从当前路径下进行查找): 2.配置系统变量(找到&qu ...

最新文章

  1. JStorm与Storm源码分析(五)--SpoutOutputCollector与代理模式
  2. Java并发框架——AQS之怎样使用AQS构建同步器
  3. 超图使用服务管理页面发布服务图解
  4. OpenCV官方文档 理解k - means聚类
  5. Oracle分页排序数据混乱原因及解决
  6. vb 绘制图形/蝴蝶动画
  7. [RabbitMQ]整合SpringBoot
  8. java更好的语言_Java,如果这是一个更好的世界
  9. Verilog hdl 宏定义编译报错
  10. mybatis oracle 大写,解决mybatis用Map返回的字段全变大写的问题
  11. 【英语学习】【WOTD】muse 释义/词源/示例
  12. 【干货】怎样用深度学习做语音识别
  13. 不规则矩形中心求法 c语言,不规则矩形
  14. Web 开发中很实用的10个效果
  15. 初探Nacos(四)-- SpringBoot下使用Nacos作为配置中心
  16. 离散数学与计算机的发展,计算机学科发展中离散数学的作用与运用
  17. 数据库 的日志已满,备份该数据库的事务日志以释放一些日志空间的解决办法 ...
  18. DeepChem手册3.10 MoleculeNet
  19. EMDLP:用于RNA甲基化位点预测的集成多尺度深度学习模型 论文解读
  20. linux下载百度网盘

热门文章

  1. 河北地质计算机专业怎么样,河北地质大学信息工程学院 贺毅朝教授接受2017年计算机和数学相关学科的调剂生...
  2. java基础-云服务器购买
  3. 数说“雪乡”旅游那些事儿
  4. IBM宣布造出全球首颗2nm EUV芯片
  5. php 的 yii 框架,yii 框架的详情
  6. 闽高校计算机等级考试vb选择题,计算机等级考试二级VB程序设计选择题
  7. Android 集成facebook授权登录以及过程中登录错误,密钥散列不匹配
  8. datagridview 获取选中行的索引
  9. 一本好的PHP自学书籍-和我一起轻松学习PHP,推荐给你
  10. thumbnails java_JAVA 图片处理(基于Thumbnails)