首先说这几个函数的作用都是包含并运行指定的文件,但使用场景有区别。
1.include和require的的区别:
include()引入文件时,如果遇到错误会提示错误并继续执行;require()引入文件时也提示错误但是会终止程序的运行。
require()语句一般放在php脚本页面的最前边,在php执行前,先读入require()引入的文件,文件的内容会变成此脚本的一部分,但是出现错误,会立即退出。
include()语句一般在用到时才引入,所以经常是在流程控制的处理区段中,php脚本在执行到它时,才会将文件包含进来。
也就是说require()是预加载机制,位置在脚本的最前边,一开始就引入所有可能用到的文件;include()是即用即加载,位置灵活。
2.include_once()、require_once()和include()、require()的区别
include()、require()执行包含的文件,不会对引入的文件进行比较判断,可能会出现重复包含的情况;而include_once()、require_once()会在包含时先判断文件是否存在,已经包含过了,就不在包含,这样的引入方式可以节约资源,又可以避免重复定义。