把本文通读一遍,就可以了解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
分享到:
相关推荐
include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。
include_once和require_once的作用差不多,就是在包含的时候检查被包含的文件是不是已经包含过,如果包含过,那就不执行,否则再包含.我先说这个的原因是因为如果把include,require弄清楚了.那这点就没问题. 现在来说...
①作用及用法 可以减少代码的重复 include(_once)(”文件的路径”)与require(_once)(”文件的路径”) ②理解 说白了,就是用包含进来的文件中的内容 代替 include(_once),require(_once)那一行 ③注意 include/...
关于使用include还是include_once(以下,都包含require_once), 这个讨论很长了, 结论也一直有, 就是尽量使用include, 而不是include_once, 以前最多的理由的是, include_once需要查询一遍已加载的文件列表, 确认是否...
本篇文章是对require与require_once与include以及include_once的区别进行了详细的分析介绍,需要的朋友参考下
相信大家在使用PHP时经常看到include a.php、include_once a.php、require a.php或者require_once a.php类似这样的写法吧? 我们一起来学习和总结一下这几个语句的作用及特点! include 使用方法: include "test...
require()和include()有许多相似之处,也有些不同。理解它们的不同点非常重要,否则很容易犯错误。 我把这两个语句放在一起介绍,读者可以比较学习。 1.require()语句 require()语句用于指定的文件代替语句本身,...
include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。
1.require()语句 require()语句用于指定的文件代替语句本身,就象C语言中的include()语句一样。如果php配置文件php.ini中的URL fopen wrappers 是打开的(默认情况下是打开的),就可以使用URL来指定文件的位置从而...
RequirePathFixer 旧版php项目具有大量的require语句(require / require_once / include / include_once)。 而且由于它们不是同质的,因此很难将它们全部收集起来。 该库搜索所有require语句,并将它们修改为同类...
include、include_once、require、require_once的区别require和include的区别require 和 include
在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()...