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 相关文章推荐
用PHP产生动态的影像图
Oct 09 PHP
PHP Pear 安装及使用
Mar 19 PHP
php面向对象全攻略 (八)重载新的方法
Sep 30 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
Jul 31 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
ThinkPHP中数据操作案例分析
Sep 27 PHP
PHP动态生成指定大小随机图片的方法
Mar 25 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
php 修改上传文件大小限制实例详解
Oct 23 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 PHP
PHP实现微信对账单处理
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
PHP初学者头疼问题总结
2006/10/09 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
Python3里的super()和__class__使用介绍
2015/04/23 Python
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
python Gunicorn服务器使用方法详解
2019/07/22 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
用python写测试数据文件过程解析
2019/09/25 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
python爬虫要用到的库总结
2020/07/28 Python
会计电算化个人求职信范文
2014/01/24 职场文书
个人简历自我评价
2014/02/02 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
团日活动总结书格式
2014/05/08 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
个人总结与自我评价
2015/02/14 职场文书
2014年底个人工作总结
2015/03/10 职场文书
商标侵权律师函
2015/05/27 职场文书
返乡农民工证明
2015/06/24 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js