1、include和require区别
当要包含的文件不存在时,include产生一个警告(Warning),该语句后面的程序会继续执行;
而 require则导致一个致命错误(Fatal error),程序就此终止。
2、路径问题(适用于include和require)
+c.php
+folder1
+----a.php
+----folder2
+--------b.php
a.php
include 'folder2/b.php';
b.php
include 'c.php';
执行a.php过程
包含"b.php",并执行"b.php"
在folder1(当前工作目录,"a.php"所在目录下)下查找"c.php",查找不到则执行下一步
在folder2(当前文件目录,"b.php"所在目录下)下查找"c.php"。
无论是"a.php",还是"b.php",若include路径中含有"../",则都在当前工作目录(folder1,"a.php"所在目录)的上级目录中查找
3、变量作用域
一个文件被包含时,所包含的代码继承了“include”所在行的变量范围,该行处可用的任何变量在被包含的文件中都可用。主要针对于函数中的include。
所有在包含文件中定义的函数和类都具有全局作用域,和变量不同。
普通变量的变量作用于继承了“include”所在行的变量范围,例如函数中的include。
4、include_path
默认的include_path=".;C:xamppphpPEAR",使用set_include_path设置后,(不论文件的包含层级怎样)后续的所有程序都会使用该值,该函数可多次调用。