首页 > PHP教程 > php开发知识文章

理解require与require_once,include与include_once的相同点与区别

include() :函数会将指定的php文件读入并且执行,如果文件存在错误的话,那么程序不会停止,而是继续执行,并显示一个警告错误

如:include('/a.php'); 

被导入的php文件中的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中到 include() 函数的位置相同的变量作用域。你可以导入同一个服务器中的静态档案,甚至可以通过合并使用 include() 与 fopen() 函数来导入其它服务器上面的php文件

include_once() :作用和 include() 是几乎相同的

唯一的差别在于 include_once() 函数会先检查要导入的php文件有没有已经在其它地方被导入过了,如果有的话就不会再次重复导入(如导入的php文件里面定义了一些自定义的函数,那么如果在同一个程序重复导入这个php文件,在第二次导入的时候便会发生错误讯息,因为 PHP 不允许相同名称的函数被重复定义第二次)

 

require() :函数会将目标php文件的内容读入,并且把require这句换成这些php文件的内容,如果文件存在错误的话,那么程序就会中断执行了,并显示致命错误

这个读入并且代换的动作是在 PHP 引擎编译你的程序代码的时候发生的,而不是发生在 PHP 引擎开始执行编译好的程序代码的时候(PHP 3.0 引擎的工作方式是编译一行执行一行,但是到了 PHP 4.0 就有所改变了,PHP 4.0 是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require() 通常来导入静态的内容,而 include() 则适合用来导入动态的程序代码。

require_once() : 函数会先检查目标php文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。 

include有返回值,而require没有

 

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。