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

简介: PHP 零基础入门笔记(8):PHP 文件包含include/require

PHP 文件包含include/require

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


文件包含的作用

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


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


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


文件包含的四种形式

include 包含文件

include_once 一个文件最多被包含一次

require 与 include 相同

require_once 与 include_once 相同

语法


include '文件路径';
include('文件路径');

向上包含:先包含文件,再使用文件中的内容

向下包含:先准备内容,然后包含另外的文件,在另外的文件中使用当前内容

示例: 向上包含


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

示例: 向下包含


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

文件加载原理

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


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


PHP 代码的执行流程


读取 PHP 代码文件

编译:将 PHP 代码转换成字节码(opcode)

zendengine 来解析 opcode,按照字节码去进行逻辑运算

转换成对应的 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';

文件嵌套包含


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


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

相关文章
|
2月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
5月前
|
存储 运维 Serverless
函数计算产品使用问题之在YAML文件中配置了环境变量,但在PHP代码中无法读取到这些环境变量,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
2月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
2月前
进入靶场,出现一张照片,右击查看源代码,发现有一个注释的source.php文件
这段代码实现了一个网站上弹出的促销海报动画效果,包含一个关闭按钮。当促销海报弹出时,会在三秒后开始抖动一两下。海报使用固定定位居中显示,带有阴影和圆角,关闭按钮位于右上角。可以通过修改时间参数调整弹出时间。
20 0
|
3月前
|
存储 安全 数据库连接
php.ini 文件的用途是什么?
【8月更文挑战第29天】
75 1
|
3月前
|
PHP
PHP遍历文件并同步上传到服务器
在进行网站迁移时,由于原网站的图片文件过多,采用打包下载再上传的方式耗时过长,且尝试使用FTP工具从旧服务器传输至新服务器时失败。为解决此问题,特使用PHP编写了一款工具,该工具能扫描指定目录下的所有`.webp`图像文件,并将其上传至新的服务器,极大地提高了迁移效率。
105 16
|
3月前
|
Java 应用服务中间件 PHP
PHP——调用java文件中的方法
PHP——调用java文件中的方法
56 0
PHP——调用java文件中的方法
|
4月前
|
API PHP UED
​一个PHP文件实现联系表单自动发送邮件
使用PHP和AOKSend服务,可以创建一个联系表单,收集用户信息并自动发送邮件。HTML表单包含姓名、邮箱和消息字段。PHP文件`send_mail.php`处理表单提交,通过AOKSend的SMTP设置(如主机、端口、API密钥)使用PHPMailer发送邮件到指定地址。代码中还包括安全措施,如使用`htmlspecialchars`防止XSS攻击。这种方法增强了网站的用户沟通体验,并依赖AOKSend的稳定性和API进行高效邮件发送。
|
3月前
|
PHP
php怎么循环读取文件夹里的文件
`DirectoryIterator`类提供了一个接口来遍历文件系统目录。与 `glob`函数相比,使用 `DirectoryIterator`类可以获得更多文件属性信息,如文件大小、修改时间等,从而进行更复杂的文件处理操作。
42 0