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 相关文章推荐
逆序二维数组插入一元素的php代码
Jun 08 PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 PHP
获取URL文件名后缀
Oct 24 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php中strtotime函数用法详解
Nov 15 PHP
php输出xml属性的方法
Mar 19 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
PHP简单实现循环链表功能示例
Nov 10 PHP
PHP+JS实现的实时搜索提示功能
Mar 13 PHP
php 策略模式原理与应用深入理解
Sep 25 PHP
在laravel中使用with实现动态添加where条件
Oct 10 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制作静态网站的模板框架
2006/10/09 PHP
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
django静态文件加载的方法
2018/05/20 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
pybind11在Windows下的使用教程
2019/07/04 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
护士自我鉴定范文
2013/10/06 职场文书
教师专业自荐信
2014/05/31 职场文书
担保书格式
2015/01/20 职场文书
房地产项目合作意向书
2015/05/08 职场文书
简单的辞职信模板
2015/05/12 职场文书
5人制售《绝地求生》游戏外挂获利500多万元 被判刑
2022/03/31 其他游戏