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检测,防止文件反复被包含

相关推荐
ServBay1 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954482 天前
CTF 伪协议
php
BingoGo4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack6 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo6 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack7 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理7 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php