①inlcude与include_once(require与require_once)的区别:
带有once 的函数是没有带once函数的加强,或者延伸。带有once的函数在引用文件的时候会先检查一下在这个php文件里你要引用的文件是不是已经被引用过了,如果已经引用过了,它不会再引用第二次。在include_once里,如果重复引用了文件,那么程序运行到此处的时候就会发生错误,因为一些东西你重复定义了。如果是require_once重复引用了文件,它只会执行第一个,第二个文件不会执行。
②include与require(include_once与require_once的区别):
第一:使用include调用时如果没有找到要引用的文件,那么程序会发出警告,但是不会终止脚本进行(php语言可以看成脚本语言,因为只是处理后台程序),但是如果是require引用没有找到要引用的文件,那么将会直接报错,终止运行。
第二:使用require调用文件的时候,只要程序开始执行,不管这句引用在哪,那么引用的文件会立刻把这句话替换掉,换成引用的文件。但是include调用文件时,只有程序执行到该句时程序才会把这句话替换。
另外:include_once和require_once都是确保外部文件在同一个php文件里只能被包含一次,使用这两个可以有效防止包含相同的函数库从而导致函数重复定义发生错误。只是require_once发生错误时是一个致命错误而include_once发生错误时只会发出警告。
所以建议使用require_once来保证程序的正确性。