include 和require的区别

原创
2012/12/14 17:01
阅读数 169
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() 本身只会运行一次。  

展开阅读全文
打赏
0
6 收藏
分享
加载中
楼主在说php。
2012/12/15 08:13
回复
举报
更多评论
打赏
1 评论
6 收藏
0
分享
返回顶部
顶部