`

require include include_once() include() 区别

    博客分类:
  • Php
阅读更多
把本文通读一遍,就可以了解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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics