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 01 PHP
PHP5 字符串处理函数大全
Mar 23 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
php实现邮件发送并带有附件
Jan 24 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
Laravel 5框架学习之Eloquent 关系
Apr 09 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
php 静态属性和静态方法区别详解
Apr 09 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
May 12 PHP
safari下载文件自动加了html后缀问题
Nov 09 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
第一节--面向对象编程
2006/11/16 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
jquery插件之easing使用
2010/08/19 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
js断点调试经验分享
2017/12/08 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
python装饰器使用方法实例
2013/11/21 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
python开头的coding设置方法
2019/08/08 Python
Python的信号库Blinker用法详解
2020/12/31 Python
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
linux面试相关问题
2012/08/11 面试题
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
北大自主招生自荐信
2013/10/19 职场文书
教师节促销方案
2014/03/22 职场文书
Python pandas求方差和标准差的方法实例
2021/08/04 Python
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS
Java对文件的读写操作方法
2022/04/29 Java/Android