php内置函数-文件包含的函数

目录

1.include

2.require

3.include_once

[4. require_once](#4. require_once)


1.include

可以将别的文件直接引用过来(被引用的文件含有打印代码的话,会直接打印),如果失败了,会返回一条警告,文件会继续执行下去,通常用于动态包含。

如下,我建两个 php 文件,一个写有函数声明的文件,一个函数调用的文件

所以被引用的文件一般不写打印的代码,直接写函数声明即可

include 引用失败的话,会返回警告,并继续执行下去,如下

function.php 文件

php 复制代码
<?php
header("Content-Type: text/html; charset=utf-8");
	
	// 函数声明,$a, $b用于接收传来的参数
	function add($a, $b) {
		$c = $a + $b;
		return $c;
	}

?>

引用成功情况下

php 复制代码
<?php 
header("Content-Type: text/html; charset=utf-8");

echo "开始调用".'<br>';
include('function.php');

	$t = add(3,4);
	echo "计算结果为:".$t.'<br>';
	echo "调用结束".'<br>';
?>

引用失败(将路径写错)情况下

php 复制代码
<?php 
header("Content-Type: text/html; charset=utf-8");

echo "开始调用".'<br>';
include('functions.php');//这里我引用错误,会继续往下执行
	
	echo "下面有结果就引用成功,没有就是失败".'<br>';

	$t = add(3,4);//因为上面引用失败,所以这里也会因为失败而结束后面的程序
	echo "计算结果为:".$t.'<br>';
	echo "调用结束".'<br>';
?>

2.require

用于文件引用,如果引用失败,代码就不会继续往下执行;通常包含极为重要的文件

1)引用成功下

php 复制代码
<?php 
header("Content-Type: text/html; charset=utf-8");

echo "开始调用".'<br>';
require('function.php');
	
	echo "下面有结果就引用成功,没有就是失败".'<br>';

	$t = add(3,4);
	echo "计算结果为:".$t.'<br>';
	echo "调用结束".'<br>';
?>

2)引用失败情况下,我的文件function是正确的,我修改成functions ,所以错误

php 复制代码
<?php 
header("Content-Type: text/html; charset=utf-8");

echo "开始调用".'<br>';
require('functions.php');//这里我引用错误,强制停止后续代码
	
	echo "下面有结果就引用成功,没有就是失败".'<br>';

	$t = add(3,4);
	echo "计算结果为:".$t.'<br>';
	echo "调用结束".'<br>';
?>

从运行结果得知,require 会强制停止后续代码

3.include_once

可以以将别的文件直接引用过来(被引用的文件含有打印代码的话,会直接打印),如果失败了,会返回一条警告,文件会继续执行下去;

他会做 once 次检测,如果文件曾经已经被被包含过,不再包含。

简单来讲就是防止"俄罗斯套娃"

4. require_once

用于文件引用,如果引用失败,代码就不会继续往下执行;通常包含极为重要的文件;会做一次once检测,防止文件反复被包含

相关推荐
测试员周周2 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
杜子不疼.5 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号35 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia6 小时前
Qt——编辑交互功能的实现
开发语言·qt
石山代码6 小时前
C++ 内存分区 堆区
java·开发语言·c++
无风听海6 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠7 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
LuminousCPP8 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
web3.08889998 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
один but you9 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言