PHP中几种文件引入区别
php 中有四种文件加载的语句:include 、require、include_once、require_once。
放入位置:
1、require:一般放在php脚本执行的最前面,php脚本执行前就会先读入require指定引入的文件,包含并尝试执行引入的脚本文件。
2、include:可以放在php脚本的任意位置,一般放在流程控制的处理部分中。当php脚本执行到include指定引入的文件时、才将它
包含并尝试执行
3、include 和include_once
include载入的文件不会判断是否重复,只要有include语句,就会载入一次(即使可能出现重复载入)。而include_once载入文件时会有内部
判断机制判断前面代码是否已经载入过。这里需要注意的是include_once是根据前面有无引入相同路径的文件作为判断的,而不是根据文件的
内容(即两个待引入的文件内容相同,路径不同,使用include_once还是会引入俩个)。
require和 require_once: 与include 和include_once 的区别相同。
区别:
include :会将指定的文件读入并执行里面的程序
require: 会将目标文件的内容读入,并且把自己本身代换成这些读入的内容
include_once:在脚本执行期间包含并运行指定文件。此行为和include语句类似,唯一区别是执行时会先检查文件(相同路径)是不是已经导入过
如果改文件中已经被包含过,则不会再次包含。
require_once:和require 基本相同,唯一区别是php会检查该文件是否已经被包含过,如果是则不会再次包含。
include 和require:
include 有返回值 ,而require没有返回值
include 在加载文件失败时,会产生一个警告(E_WARNING),在错误发生后脚本继续执行。所以include 用在不太重要的文件引入时
希望脚本继续执行并向用户输出结果时,比如模板文件
require 在加载失败时会产生一个致命错误(E_COMPILE_ERROR),在错误发生后脚本停止执行,一般用于引入重要的文件比如核心类文件
返回值:
对于include,如果载入成功,有返回值1,载入失败则返回false
对于require 如果载入成功,有返回值,返回值为1,如果失败,无返回值。