php的文件包含总结 include require include_once require_once

文件包含相当于将另一个文件的代码全部复制到另一个文件中,然后执行。包含文件很有用,如果您需要在网站的多张页面上引用相同的 PHP、HTML 或文本的话。比如说我们在浏览csdn很多页面中,基本都是看到下面的内容,为了不要每次都要写这个代码,我们就可以使用文件包含

在这里插入图片描述

0x01 文件包含四个语句

  1. include
  2. require
  3. include_once
  4. require_once

0x02 每个语句的语法

include:位置任意,当PHP脚本执行到include指定引入的文件时,才将它包含并尝试执行,当第二次包含到相同文件时,PHP还是会重新解释一次,所以include的执行效率相对而言比较低
head.php代码

<?php
	echo '<p align=\"center\"><p align=\"center\"><font size=\"2\">这是首部</font></p></p>';
?>

test.php

<?php
	header('content-type:text/html;charset=utf-8');
	echo '这是test文件';
	echo '<br>';
	include('./head.php');	
	echo '<br>';
	include('./head.php');
?>

在这里插入图片描述
require:一般放在最前,PHP执行前就会先读入require指定引入的文件,包含并尝试执行引入的脚本文件,当第二次包含到相同文件时,PHP不会重新解释一次,相对而言,效率较高
test.php

<?php
	header('content-type:text/html;charset=utf-8');
	echo '这是test文件';
	echo '<br>';
	require('./head.php');	
	echo '<br>';
	require('./head.php');
?>

在这里插入图片描述
远行结果和include一样

require_once / include_once:分别与require / include作用相同,不同的是他们在执行到时会先检查目标内容是不是在之前已经导入过,如果导入过了,那么便不会再次重复引入其同样的内容。
test.php

<?php
	header('content-type:text/html;charset=utf-8');
	echo '这是test文件';
	echo '<br>';
	require_once('./head.php');	
	echo '<br>';
	require_once('./head.php');
?>

在这里插入图片描述
head.php只包含了一次

0x03 相互区别

include和require:include有返回值,而require没有返回值。include在加载文件失败时,会生成一个警告,但在错误发生后脚本继续执行。require在加载失败时会生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本停止执行
test.php包含head2.php,这个文件我没创建

<?php
	header('content-type:text/html;charset=utf-8');
	echo '<br>';
	include('./head2.php');	
	echo '<br>';
	echo '这是test文件';
?>

在这里插入图片描述
使用require

<?php
	header('content-type:text/html;charset=utf-8');
	echo '<br>';
	require('./head2.php');	
	echo '<br>';
	echo '这是test文件';
?>

在这里插入图片描述
include和include_once:include载入的文件不会判断是否重复,只要有include语句,就会载入一次(即使可能出现重复载入)。而include_once载入文件时会有内部判断机制判断前面代码是否已经载入过。

require和require_once:同include和include_once的区别相同。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值