PHP中include和require的区别实例分析


Posted in PHP onMay 07, 2017

先编辑command.php文件

echo 'hello'.PHP_EOL;

然后编辑console.php文件

for($i=1;$i<=3;++$i){
	require 'command1.php';
}

原本想要包含并执行这个echo,没想到写错了文件名,如果是require,会报出这样的错误:

Warning: require(command1.php): failed to open stream: No such file or directory in console.php on line 4

Fatal error: require(): Failed opening required 'command1.php' (include_path='.') in console.php on line 4
PHP Warning: require(command1.php): failed to open stream: No such file or directory in console.php on line 4
PHP Fatal error: require(): Failed opening required 'command1.php' (include_path='.') in console.php on line 4

如果把require改为include

for($i=1;$i<=3;++$i){
	include 'command1.php';
}

会报出这样的错误:

Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4

Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4

Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4

Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4

Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4

Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
PHP Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4
PHP Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
PHP Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4
PHP Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
PHP Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4
PHP Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4

如果使用require_once或者include_once,只要包含路径正确,那么循环只执行一次。

总结:

使用require,如果文件没有包含成功,就会报出一个fatal error,整个程序就中止了。

使用include,如果文件没有包含成功,就会报出一个普通的warning,之后的代码仍会执行。

如果你的Web程序使用了MVC这种对文件包含强依赖的设计方法,请使用require_once。

PHP 相关文章推荐
如何将数据从文本导入到mysql
Oct 09 PHP
php class类的用法详细总结
Oct 17 PHP
php反射应用示例
Feb 25 PHP
PHPThumb图片处理实例
May 03 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
Jul 15 PHP
php数组使用规则分析
Feb 27 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
May 18 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
PHP+Ajax简单get验证操作示例
Mar 02 PHP
laravel ORM关联关系中的 with和whereHas用法
Oct 16 PHP
自制PHP框架之设计模式
May 07 #PHP
自制PHP框架之模型与数据库
May 07 #PHP
自制PHP框架之路由与控制器
May 07 #PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 #PHP
PHP关键特性之命名空间实例详解
May 06 #PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 #PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 #PHP
You might like
php自动加载机制的深入分析
2013/06/08 PHP
php中switch语句用法详解
2015/08/17 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
js 自带的 map() 方法全面了解
2016/08/16 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
在python 中实现运行多条shell命令
2019/01/07 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
2021/01/27 Python
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
2014年学习雷锋活动总结
2014/03/01 职场文书
教师节学生演讲稿
2014/09/03 职场文书
员工年度工作总结2015
2015/05/18 职场文书
拖欠货款起诉状
2015/05/20 职场文书
初中生活随笔
2015/08/15 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
浅谈Python魔法方法
2021/06/28 Java/Android
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
mysql如何查询连续记录
2022/05/11 MySQL