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结合飞信 免费天气预报短信
May 07 PHP
php中几种常见安全设置详解
Apr 06 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
php设计模式 Observer(观察者模式)
Jun 26 PHP
PHP对MongoDB[NoSQL]数据库的操作
Mar 01 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
PHP未登录自动跳转到登录页面
Dec 21 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
PHP微信企业号开发之回调模式开启与用法示例
Nov 25 PHP
php数组和链表的区别总结
Sep 20 PHP
php连接sftp的作用以及实例代码
Sep 23 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
一个基于PDO的数据库操作类
2011/03/24 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
基于jquery的15款幻灯片插件
2011/04/10 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
javascript实现表单验证
2016/01/29 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
什么是Remote Module
2016/06/10 面试题
新三好学生主要事迹
2014/01/23 职场文书
少先队活动总结
2014/08/29 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
2015年度女工工作总结
2015/10/22 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
Python基础之进程详解
2021/05/21 Python
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
解决vue中provide inject的响应式监听
2022/04/19 Vue.js