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

相关推荐
z20348315205 分钟前
我与C++的故事
开发语言·c++·c++40周年
wuwu_q36 分钟前
用通俗易懂 + Android 开发实战的方式讲解 Kotlin Flow 中的 filter 操作符
android·开发语言·kotlin
想唱rap1 小时前
Linux开发工具(4)
linux·运维·服务器·开发语言·算法
Geoking.1 小时前
【Java】Java 中 @Resource 与 @Autowired 的区别详解
java·开发语言
生而为虫1 小时前
02.第一个Python程序
开发语言·python
星释1 小时前
Rust 练习册 :Rail Fence Cipher与栅栏密码
开发语言·算法·rust
weixin_441455262 小时前
说说Java有哪些集合类
java·开发语言
李趣趣2 小时前
C#中关于ContextMenuStrip批量添加Item的问题
开发语言·c#
张人玉2 小时前
C# 串口通讯中 SerialPort 类的关键参数和使用方法
开发语言·c#·串口通讯
白山云北诗2 小时前
网站被攻击了怎么办?如何进行DDoS防御?
开发语言·网络安全·php·ddos·防ddos·防cc