php基础之文件载入过程 路径及四种载入关键词区别

2024-05-12 11:08

本文主要是介绍php基础之文件载入过程 路径及四种载入关键词区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

php文件加载在项目中比较常用,下面简单介绍一下四个加载关键词(区别)、文件路径、执行过程等。

  • 四个加载文件关键词分别为:include include_once require require_once
  • 使用形式相同,eg. include “目标文件的路径” 或 include(“目标文件的路径”)
  • 含义几乎相同,只不过在加载失败或是否需要重复加载方面,含义有所不同
  • 可以加载html或php文件

文件的加载路径

以include为例,其他三种加载路径是一样的。

相对路径
  • 指相对于当前文件来说的,主要有以下两个特殊的路径符号:
    • ./:当前文件所在位置的目录
    • ../:当前文件的所在位置的上一级目录
  • 示例如下
// 使用相对路径引入文件
include "./page01.php";
绝对路径
  • 本地绝对路径,如d:/test/01.php,一般来说,不应该在代码中这么写,因为程序是要发布到线上,而不是本地的。同时,可以采用如下方式,进行引用:
// 使用绝对路径引入文件,方式一:
include __DIR__ . '\page01.php';//使用绝对路径方式引入文件,方式二:
include $_SERVER['DOCUMENT_ROOT'] . '\zhonglq\page01.php';
  • 网页绝对路径
    如:http://www.baidu.com/test.php
无路径

如:

include "page01.php";

默认会从当前文件所在的目录中找,不推荐使用。

文件载入过程

  1. 从include语句开始,退出php脚本模式,进入html代码模式
  2. 载入include语句中所设定的文件中的代码,并执行
  3. 加载执行完文件中的代码后,重新进入php脚本模式,继续执行之后的代码

四个载入语句的区别

  • include(include_once)载入文件时,如果文件没找到,会报一个错误提示,然后继续执行后面的代码
  • require(require_once)载入文件时,如果文件没有找到,会报错并终止后面代码的执行
  • include(require)载入的文件不判断是否重复,只要有include(require)语句,就载入一遍
  • include_once(require_once)载入文件的时候,会有一个内部判断机制,判断该文件之前是否载入过,如果载入过就不再再次载入该文件了。

被载入文件return语句相关

  • 载入一个文件,如果载入成功,返回值为1,如果载入失败,返回false
  • 如果被载入文件中有return语句,那么被载入文件return后面的语句都不再执行
  • return语句也可以作用于被载入文件时返回给调用方的一个数据值

如下为被载入文件page03.php:

echo "this is page03 start";
return 5;
echo "<br>";
echo "this is page03 end";

如下为调用方代码:

$result = include("./page03.php");
var_dump($result);

输入结果为:

int 5

好了,php载入文件关键词语句及相关介绍,就简单整理到这了~

这篇关于php基础之文件载入过程 路径及四种载入关键词区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/982459

相关文章

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio