文档章节

include 和require的区别

lebwade
 lebwade
发布于 2012/12/14 17:01
字数 469
阅读 147
收藏 6
include和require的区别

以前在写程序的时候想过这个问题,今天刚好看到关于此方面的问题,所以就整理,总结下来!

这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行

include 包括 没有也可以

require 需要 一定要有

include 出错时返回一个错误但继续执行

require 出错时产生一个致命错误,结束运行

 

---------------------------------------------------------------------------------

  • require() :如果文件不存在,会报出一个fatal error.脚本停止执行
  • include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行


这里特别要注意的是:
使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前,这一点,往往被人忽视。

推荐使用require_once()和include_once(),可以检测文件是否有重复包含。

--------------------------------------------------------------------------------------

还有一个区别,这样来描述:
只要有require,总会包含指定的文件;
如果程序没有执行到include,指定的文件不会被包含,比如if条件不成立,在if语句里用include

(以下是这一区别的详细介绍)

注: 在 PHP 4.0.2 之前适用以下规则:require() 总是会尝试读取目标文件,即使它所在的行根本就不会执行。条件语句不会影响 require()。不过如果 require() 所在的行没有执行,则目标文件中的代码也不会执行。同样,循环结构也不影响 require() 的行为。尽管目标文件中包含的代码仍然是循环的主体,但 require() 本身只会运行一次。  

© 著作权归作者所有

lebwade
粉丝 5
博文 54
码字总数 13290
作品 0
苏州
程序员
私信 提问
加载中

评论(1)

寒川
寒川
楼主在说php。
PHP include_once与require_once区别

①作用及用法   可以减少代码的重复   include(once)("文件的路径")与require(once)("文件的路径") ②理解   说白了,就是用包含进来的文件中的内容 代替 include(once),require(...

ufo00001
2017/07/12
0
0
php ​include与 include_once,require与 require_once

include() 与 include_once() require() 与 requireonce() 1.include() 函数会将指定的档案读入并且执行里面的程序。 例如:include('/home/me/myfile'); 被导入的档案中的程序代码都会被执行...

bo-少
2016/04/11
33
0
PHP中include() 与 require() 的区别(面试笔试常见题目)

require() 语句也可用于文件的包含,在使用上等同于 include() 。但二者也有一些细微差别,可以视实际情况采用 include() 还是 require() 。 二者区别如下: 当包含的文件不存在时(包含发生...

haigou20
2013/08/16
56
0
请教一下include、include_once、require、require_once的区别(越详细越好 )

请教一下include、include_once、require、require_once的区别(越详细越好 )

nba
2014/11/17
256
11
PHP基础巩固(二)

1、include()和require()、reuqireonce()、includeonce()的差别 【require】按照书写标准,这个函数被写在代码的最前面,在程序还未执行以前就被执行,以便使用引入文件内部的方法等 【inclu...

高能狂犬
2016/08/23
3
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部