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 相关文章推荐
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
Blitz templates 最快的PHP模板引擎
Apr 06 PHP
php中的Base62类(适用于数值转字符串)
Aug 12 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 PHP
php时间戳转换的示例
Mar 31 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
php查看网页源代码的方法
Mar 13 PHP
php中JSON的使用方法
Apr 30 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 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 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
python实现连续图文识别
2018/12/18 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
animation和transition的区别
2020/10/12 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
精彩广告词大全
2014/03/19 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
产品设计开发计划书
2014/05/07 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
人事任命书范本
2015/09/21 职场文书
vue elementUI表格控制对应列
2022/04/13 Vue.js