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 Date/Time 类型
Mar 26 PHP
PHP 文件上传全攻略
Apr 28 PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 PHP
php中DOMElement操作xml文档实例演示
Mar 26 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
php数组排序usort、uksort与sort函数用法
Nov 17 PHP
详解HTTP Cookie状态管理机制
Jan 14 PHP
Joomla开启SEF的方法
May 04 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
PHP中include()与require()的区别说明
Feb 14 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
Feb 15 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
Python类的用法实例浅析
2015/05/27 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
Python3实现飞机大战游戏
2020/04/24 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
servlet面试题
2012/08/20 面试题
2014年教研员工作总结
2014/12/23 职场文书
2016国培研修心得体会
2016/01/08 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
js之ajax文件上传
2021/05/13 Javascript
pytorch Dropout过拟合的操作
2021/05/27 Python