把本文通读一遍,就可以了解require include include_once() include()这4个函数的区别了。
网友经验:
1.如果 require的文件不存在,程序停止运行
如果 include的文件不存在,给出错误信息后还要运行
2.require用相对路径的时候
当A引用B,而B又引用了其他文件C时,C的路径如果是相对路径,则是相对于A的路径,而不是相对于B的'
3. include() && include_once():程序执行到那里才执行
require() && require_once():不管放在页面的哪个地方都先执行
4.
require类似于一次预扫描,在程序执行时,无论在函数里或是函数外,都将先把require的文件执行,且只执行一次。而include则是每执行
一次就调用一次文件,即这次执行后,下次再执行执行到这里,仍将再执行一次。如果在一个循环中,某些语句你只想执行一次,那你用require包括它们就
可以了。
5. require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。
include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。如同此语句名字暗示的那样,只会包括一次。
其他的相关文章:
require()
require () 语句包含并运行指定文件。
require () 和 include () 除了怎样处理失败之外在各方面都完全一样。 include () 产生一个警告而 require
() 则导致一个致命错误。换句话说,如果想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。include ()
就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。
require_once ()
应该用于在脚本执行期间同一个文件有可能被包括超过一次的情况下,你想确保它只被包括一次以避免函数重定义,变量重新赋值等问题。
include ()
include () 语句包含并运行指定文件。
以下文档也适用于 require ()。这两种结构除了在如何处理失败之外完全一样。include () 产生一个警告而 require ()
则导致一个致命错误。换句话说,如果想在遇到丢失文件时停止处理页面就用 require ()。include ()
就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。注意在 PHP 4.3.5
之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。
寻找包含文件的顺序先是在当前工作目录的相对的 include_path 下寻找,然后是当前运行脚本所在目录相对的 include_path
下寻找。例如 include_path 是 .,当前工作目录是 /www/,脚本中要 include 一个 include/a.php
并且在该文件中有一句 include “b.php”,则寻找 b.php 的顺序先是 /www/,然后是
/www/include/。如果文件名以 ../ 开始,则只在当前工作目录相对的 include_path 下寻找。
当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。
要注意 require_once() 和 include_once() 不区分大小写。
也谈php require和include的区别
这是用“也谈”,其实不是谈,是更正一个错误!
在百度里面输入 “include require php” ,会有很多结果~
。其中大部分都是正确的,比如摘自http://hi.baidu.com/mu0641/blog/item
/e09c47106061affcc3ce79ef.html 的如下部分,说得已经很详细了:
1,require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require
这个已经不适用了,因为require 可以包含变量指向的文件如
if($a = 1){
$file = ‘1.php’;
}else{
$file = ‘2.php’;
}
require($file);
2,包含文件不存在或者语法错误的时候require是致命的, include不是
3,include有返回值,而require没有(可能因为如此require的速度比include快)
$login = include(’test.php’);
if(!empty($login)){
echo “文件包含成功”;
}else{
echo “文件包含失败”;
}
引用文件的方法有两种:require 及 include。两种方式提供不同的使用弹性。
require 的使用方法如 require(”MyRequireFile.php”); 。这个函数通常放在 PHP
程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP
程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include 使用方法如 include(”MyIncludeFile.php”); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
但是,却有类似“在PHP中include和require到底有什么区别呢?看这里的例子就知道了”这样的题目,这里面说的东西确实错误的。为什
么?因为我按照作者的方法分别用include和require执行了程序,出现的确实一样的结果。这也是特此写此文的主要目的,希望和我一样的新手们注
意下了哦
本文来源:
Yansen's Blog : http://www.henjiandan.net/yansen/
本文地址 :http://www.henjiandan.net/yansen/?p=1285
分享到:
相关推荐
在PHP编程语言中,include、include_once、require以及require_once是四个常用的语句,用于包含并运行指定文件中的PHP代码。虽然这些函数非常实用,但是很多人可能在使用时并不完全清楚它们之间的差异及其适用场景。...
include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。
在PHP编程语言中,`include`、`include_once`、`require`以及`require_once`是四个非常重要的语句,它们用于将一个或多个文件的内容插入到当前正在执行的脚本中。这些语句主要用于组织代码,重用功能或者引入配置...
①作用及用法 可以减少代码的重复 include(_once)(”文件的路径”)与require(_once)(”文件的路径”) ②理解 说白了,就是用包含进来的文件中的内容 代替 include(_once),require(_once)那一行 ③注意 include/...
`require_once()` 和 `include_once()` 分别是 `require()` 和 `include()` 的变体,它们的区别在于,这两个函数会检查文件是否已经被包含过。如果文件已经被包含,那么它们就不会再次执行包含操作。这是防止重复...
关于使用include还是include_once(以下,都包含require_once), 这个讨论很长了, 结论也一直有, 就是尽量使用include, 而不是include_once, 以前最多的理由的是, include_once需要查询一遍已加载的文件列表, 确认是否...
接下来,我们讨论 `require_once()` 和 `include_once()`,这两个语句在功能上与 `require()` 和 `include()` 类似,但增加了防止重复包含的机制: 1. **require_once()**: - 重复包含检查:如果一个文件已经被 `...
在PHP编程中,`require`、`require_once`、`include`和`include_once`都是用于引入其他PHP文件的关键函数,它们有助于实现代码重用和模块化编程。这些函数之间的主要区别在于它们处理重复导入的方式。 1. `require...
相信大家在使用PHP时经常看到include a.php、include_once a.php、require a.php或者require_once a.php类似这样的写法吧? 我们一起来学习和总结一下这几个语句的作用及特点! include 使用方法: include "test...
在这些函数中,最常用的是include和require,但它们有两个变体:include_once和require_once。这两个变体函数的作用是为了避免同一个文件被包含多次。然而,根据标题“请离开include_once和require_once”,文章建议...
RequirePathFixer 旧版php项目具有大量的require语句(require / require_once / include / include_once)。 而且由于它们不是同质的,因此很难将它们全部收集起来。 该库搜索所有require语句,并将它们修改为同类...