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
用libtemplate实现静态网页生成
Oct 09 PHP
PHP5 安装方法
Jan 15 PHP
php 无法载入mysql扩展
Mar 12 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 PHP
php数组去除空值函数分享
Feb 02 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
php批量修改表结构实例
May 24 PHP
php实现微信原生支付(扫码支付)功能
May 30 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实现删除非站内外部链接实例代码
2014/06/17 PHP
smarty简单分页的实现方法
2014/10/27 PHP
php中in_array函数用法分析
2014/11/15 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
js 关于=+与+=日期函数使用说明(赋值运算符)
2011/11/15 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
Python Queue模块详细介绍及实例
2016/12/27 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
Python 爬虫的原理
2020/07/30 Python
某公司Java工程师面试题笔试题
2016/03/27 面试题
nohup的用法
2012/11/26 面试题
销售经理工作检讨书
2015/02/19 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python