php文件包含的几种方式总结


Posted in PHP onSeptember 19, 2019

四种语句

PHP中有四个加载文件的语句:include、require、include_once、require_once。

基本语法

require:require函数一般放在PHP脚本的最前面,PHP执行前就会先读入require指定引入的文件,包含并尝试执行引入的脚本文件。require的工作方式是提高PHP的执行效率,当它在同一个网页中解释过一次后,第二次便不会解释。但同样的,正因为它不会重复解释引入文件,所以当PHP中使用循环或条件语句来引入文件时,需要用到include。

include:可以放在PHP脚本的任意位置,一般放在流程控制的处理部分中。当PHP脚本执行到include指定引入的文件时,才将它包含并尝试执行。这种方式可以把程序执行时的流程进行简单化。当第二次遇到相同文件时,PHP还是会重新解释一次,include相对于require的执行效率下降很多,同时在引入文件中包含用户自定义函数时,PHP在解释过程中会发生函数重复定义问题。

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

相互区别

include和require:

include有返回值,而require没有返回值。

include在加载文件失败时,会生成一个警告(E_WARNING),在错误发生后脚本继续执行。所以include用在希望继续执行并向用户输出结果时。

//test1.php

<?php

include './tsest.php';

echo 'this is test1';

?>

 

//test2.php

<?php

echo 'this is test2\n';

function test() {

 echo 'this is test\n';

}

?>

 

//结果:

this is test1

require在加载失败时会生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本停止执行。一般用在后续代码依赖于载入的文件的时候。

//test1.php

<?php

require './tsest.php';

echo 'this is test1';

?>

 

//test2.php

<?php

echo 'this is test2\n';

function test() {

 echo 'this is test\n';

}

?>

结果:

php文件包含的几种方式总结

include和include_once:

include载入的文件不会判断是否重复,只要有include语句,就会载入一次(即使可能出现重复载入)。而include_once载入文件时会有内部判断机制判断前面代码是否已经载入过。这里需要注意的是include_once是根据前面有无引入相同路径的文件为判断的,而不是根据文件中的内容(即两个待引入的文件内容相同,使用include_once还是会引入两个)。

//test1.php

<?php

include './test2.php';

echo 'this is test1';

include './test2.php';

?>

 

//test2.php

<?php

echo 'this is test2';

?>

 

//结果:

this is test2this is test1this is test2

 

 

//test1.php

<?php

include './test2.php';

echo 'this is test1';

include_once './test2.php';

?>

 

//test2.php

<?php

echo 'this is test2';

?>

 

//结果:

this is test2this is test1

 

 

//test1.php

<?php

include_once './test2.php';

echo 'this is test1';

include './test2.php';

?>

 

//test2.php

<?php

echo 'this is test2';

?>

 

//结果:

this is test2this is test1this is test2

 

 

//test1.php

<?php

include_once './test2.php';

echo 'this is test1';

include_once './test2.php';

?>

 

//test2.php

<?php

echo 'this is test2';

?>

 

//结果:

this is test2this is test1

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

以上就是本次介绍的全部知识点内容,感谢大家对三水点靠木的支持。

PHP 相关文章推荐
基于mysql的论坛(4)
Oct 09 PHP
PHP连接SQLServer2005 的问题解决方法
Jul 19 PHP
PHP return语句另类用法不止是在函数中
Sep 17 PHP
php天翼开放平台短信发送接口实现方法
Dec 22 PHP
PHP cURL初始化和执行方法入门级代码
May 28 PHP
crontab无法执行php的解决方法
Jan 25 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
CI框架表单验证实例详解
Nov 21 PHP
PHP如何通过表单直接提交大文件详解
Jan 08 PHP
PHP-FPM 的管理和配置详解
Feb 17 PHP
laravel框架使用极光推送消息操作示例
Feb 15 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 PHP
smarty模板的使用方法实例分析
Sep 18 #PHP
PHP MVC框架中类的自动加载机制实例分析
Sep 18 #PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 #PHP
php实现多站点共用session实现单点登录的方法详解
Sep 18 #PHP
PHP实现批量修改文件名的方法示例
Sep 18 #PHP
php DES加密算法实例分析
Sep 18 #PHP
php实现QQ小程序发送模板消息功能
Sep 18 #PHP
You might like
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
php取得字符串首字母的方法
2015/03/25 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
js实现列表按字母排序
2020/08/11 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
推荐11个实用Python库
2015/01/23 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
Python实现的端口扫描功能示例
2018/04/08 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
在python中pandas的series合并方法
2018/11/12 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
python快排算法详解
2019/03/04 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
小学英语教学反思
2014/01/30 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
市场营销专业自荐书
2014/06/10 职场文书
实习推荐信格式模板
2015/03/27 职场文书
家访教师心得体会
2016/01/23 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis