php中"include"和"require"之间的区别

Dan*_*nly 172 php require include

它们之间有什么区别吗?使用它们是一个偏好的问题?使用一个优于另一个产生任何优势吗?哪个更安全?

efr*_*itz 179

require如果无法加载文件,将抛出PHP致命错误.(执行停止)

include如果无法加载文件,则生成警告.(继续执行)

以下是包含和要求区别的一个很好的例子:

在此输入图像描述

来自: 差异要求与包括PHP(罗伯特; 2012年11月)

  • 链接坏了 (3认同)

Ste*_*ven 147

您可以在以下页面require的详细PHP手册中找到差异:

require是相同的include失败时它也将产生致命的除外E_COMPILE_ERROR电平误差.换句话说,它将暂停脚本,而include只发出一个警告(E_WARNING),允许脚本继续.

有关示例,请参阅@ efritz的答案

  • http://www.tiposaurus.co.uk/2011/04/04/the-difference-between-require-and-include/"require()和include()之间的关键区别在于,如果你需要()a无法加载的文件(例如,如果它不存在)则会产生致命错误,该错误将完全停止页面的执行,并且不会再生成输出.另一方面,如果包含()一个无法加载的文件,这只会生成一个警告并继续构建页面." (5认同)
  • "你应该使用什么取决于具体情况; require()最适合加载对页面其余部分至关重要的文件 - 例如,如果你有一个数据库驱动的网站,那么使用require()来包含一个包含数据库登录和密码明显优于使用include().如果在这种情况下使用了include(),那么最终可能会产生比预期更多的警告和错误." (3认同)
  • `<?php if(isset($ flibbertygibbet))需要'file.php';`似乎会让这个答案看起来完全错误.否则,即使条件不正确,我也会收到致命的错误.即使试图触摸`file.php`,`strace`也不显示PHP. (3认同)

Mar*_*ean 5

使用include,如果你不介意你的脚本继续而不加载文件(如果它不存在等),你可以(虽然你不应该)现场用警告的错误信息被显示。

使用require表示脚本无法加载指定文件时将暂停,并引发致命错误。