怎么在php中引用文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
php中有四个加载文件的语句:<强>包括,要求include_once, require_once 强>。
<>强基本语法强>
<强>要求:强>要求函数一般放在php脚本的最前面,php执行前就会先读入需要指定引入的文件,包含并尝试执行引入的脚本文件.require的工作方式是提高php的执行效率,当它在同一个网页中解释过一次后,第二次便不会解释。但同样的,正因为它不会重复解释引入文件,所以当php中使用循环或条件语句来引入文件时,需要用到包括。
<强>包括:强>可以放在php脚本的任意位置,一般放在流程控制的处理部分中。当php脚本执行到包括指定引入的文件时,才将它包含并尝试执行。这种方式可以把程序执行时的流程进行简单化。当第二次遇到相同文件时,php还是会重新解释一次,包括相对于需要的执行效率下降很多,同时在引入文件中包含用户自定义函数时,php在解释过程中会发生函数重复定义问题。
<强> require_once/include_once: >强分别与要求/包括作用相同,不同的是他们在执行到时会先检查目标内容是不是在之前已经导入过,如果导入过了,那么便不会再次重复引入其同样的内容。
相互区别
<强>包括和要求:强>
包括有返回值,而要求没有返回值
包括在加载文件失败时,会生成一个警告(E_WARNING),在错误发生后脚本继续执行。所以包括用在希望继续执行并向用户输出结果时。
//test1.php php & lt; ? include & # 39;。/tsest.php& # 39;; echo & # 39;却;能够is test1 # 39;; 比;//test2.php php & lt; ? echo & # 39;却;能够is test2 \ n # 39;; function 测试(),{ ,,,echo & # 39;却;能够is 测试\ n # 39;; } 比;//结果: 却,能够is test1
需要在加载失败时会生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本停止执行。一般用在后续代码依赖于载入的文件的时候。
//test1.php php & lt; ? require & # 39;。/tsest.php& # 39;; echo & # 39;却;能够is test1 # 39;; 比;//test2.php php & lt; ? echo & # 39;却;能够is test2 \ n # 39;; function 测试(),{ ,,,echo & # 39;却;能够is 测试\ n # 39;; } ?在
结果:
<强>包括和include_once: 强>
包括载入的文件不会判断是否重复,只要有包括语句,就会载入一次(即使可能出现重复载入)。而include_once载入文件时会有内部判断机制判断前面代码是否已经载入过。这里需要注意的是include_once是根据前面有无引入相同路径的文件为判断的,而不是根据文件中的内容(即两个待引入的文件内容相同,使用include_once还是会引入两个)。
//test1.php php & lt; ? include & # 39;。/test2.php& # 39;; echo & # 39;却;能够is test1 # 39;; include & # 39;。/test2.php& # 39;; 比;//test2.php php & lt; ? echo & # 39;却;能够is test2 # 39;; 比;//结果: 却,能够is test2this  is test1this  is test2//test1.php php & lt; ? include & # 39;。/test2.php& # 39;; echo & # 39;却;能够is test1 # 39;; include_once & # 39;。/test2.php& # 39;; 比;//test2.php php & lt; ? echo & # 39;却;能够is test2 # 39;; 比;//结果: 却,能够is test2this  is test1//test1.php php & lt; ? include_once & # 39;。/test2.php& # 39;; echo & # 39;却;能够is test1 # 39;; include & # 39;。/test2.php& # 39;; 比;//test2.php php & lt; ? echo & # 39;却;能够is test2 # 39;; 比;//结果: 却,能够is test2this  is test1this  is test2//test1.php php & lt; ? include_once & # 39;。/test2.php& # 39;; echo & # 39;却;能够is test1 # 39;; include_once & # 39;。/test2.php& # 39;; 比;//test2.php php & lt; ? echo & # 39;却;能够is test2 # 39;; 比;//结果: 却;能够is test2this  is test1
<强>需要和require_once: 强>同包括和include_once的区别相同。