include() 遇到php错误的时候会产生一个警告,脚本会继续运行。
require() 遇到php错误的时候会则导致一个致命错误,整个脚本会停止运行。
include_once()和require_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。应该用于嵌套包含的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。其他和前面的一致。

需要注意的问题
1.路径问题
特别是嵌套包含的时候,一定得注意包含文件的路径。
比如 A文件包含了B文件,B文件包含了C文件,A,B,C文件都不在同一个文件夹下,这个时候往往很容易出错误。
解决方案:可以使用 dirname(__FILE__) 语句,这句的意思是获得当前脚本的绝对路径。如:require_once(dirname(__FILE__).’/config.php’);
2.效率问题
include_once(),require_once(),与include(),require()比较,效率要低一些,因为他们至少得先判断一下这个文件是否已包含。这一问题在PHP5版本有很大改进,不过效率还是有差别。

整理自:http://blog.sina.com.cn/s/blog_70ca88f00100sxik.html

php在遇到include时就必须重新解析一次,如果在同一个页面出现10次include,它就会解析10次,而require不管在同一个页面出现多少次,只会解析一次.require执行效率比include高.

Related Posts: PHP-require,include,require_once和include_once 一句话区别 :