include和require的区别

细节决定成败!

1.引用文件方式

对include()来说,在include()执行时文件每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。

2.是否有条件引用

在PHP变成中,include()与require()的功能相同,但在用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile:
if($something){
include("somefile");
}
但不管$something取何值,下面的代码将把文件somefile包含进文件里:
if($something){
require("somefile");
}
下面的这个有趣的例子充分说明了这两个函数之间的不同。
$i
= 1;
while ($i < 3)
{
require("somefile.$i");
$i++;
}
在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include():
$i
= 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}

3.报错

用例子来说话,写两个php文件,名字为test1.php 
和test2.php,注意相同的目录中,不要存在一个名字是test999.php的文件。
test.php
<?PHP
include 
(”test999.php”);
echo  “abc”;
?>

test2.php
<?PHP
require (”test999.php”)
echo 
“abc”;
?>

浏览第一个文件,因为没有找到test999.php文件,我们看到了报错信息,同时,报错信息的下边显示了abc,你看到的可能是类似下边的情况:
Warning:
include(test1aaa.php) [function.include]: failed to open stream: No such file or
directory in D:\WebSite\test.php on line 2

Warning: include() [function.include]: Failed opening ‘test1aaa.php’ for
inclusion (include_path=’.;C:\php5\pear’) in D:\WebSite\test.php on line
2
abc

浏览第二个文件,因为没有找到test999.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况:
Warning:
require(test1aaa.php) [function.require]: failed to open stream: No such file or
directory in D:\WebSite\test.php on line 2

Fatal error: require() [function.require]: Failed opening required
‘test1aaa.php’ (include_path=’.;C:\php5\pear’) in D:\WebSite\test.php on line
2

现在就能很清楚的知道include和require的区别:include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码,require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。

include和require的区别,布布扣,bubuko.com

时间: 2024-12-24 16:28:00

include和require的区别的相关文章

PHP中include和require的区别详解

1.概要  require()语句的性能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估:而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句).这就意味着如果可能执行多次的代码,则使用require()效率比较高.另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句. require的使用方法如:require("myfil

包含文件函数include与require的区别

include或include_once一般用于动态包含,所谓动态包含就是根据不同条件包含不同文件 require或require_once一般用于静态包含,比如包含一个html文件的头部或者尾部 如:require_once footer.inc.php include和require可以包含多次,include_once和require_once只包含一次 包含文件函数include与require的区别,布布扣,bubuko.com

php中的include和require的区别

主要关注红色标记语句即可. The include (or require) statement takes all the text/code/markup that exists in the specified file and copies it into the file that uses the include statement. Including files is very useful when you want to include the same PHP, HTML,

php中include()和require()的区别

1.引用文件方式 对 include()来说,在include()执行时文件每次都要进行读取和评估:而对于require()来说,文件只处理一次(实际上,文件内容替换 了require()语句.这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高.另一方面,如果每次执行代码时读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),因为可以给想要包括的文件名设置一个变量. 2.是否有条件引用 在PHP变成中,include()与requir

PHP包含文件语句include和require的区别

include和require 的作用都是在服务器执行它之前,将php文件的内容插入到另一个php程式里. 语法是相同的(都是语言结构),区别在于处理错误方面:require会生成致命的错误,并停止执行:include只会生成警告,并且继续执行脚本程式. 原因在于:require这个语言结构通常放在 PHP 程式的最前面,php程式在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程式的一部份:include这个语言结构一般是放在流程控制的处理区段中,php程式在读到 i

php 中 include 与 require 的区别

以下内容转自:https://blog.csdn.net/hsd2012/article/details/51089785 网上太多关于php中include与require区别.其实说的都是经不起验证的.随意找了一个截图如下: 还信誓旦旦的解释:include()是有条件包含函数,而require()则是无条件包含函数. 但是这是很久之前的事了,现在的php,require与include确实有区别,笔者测试的是5.3以上版本测试结果如下: 发现这两种结构除了在性能和在如何处理包含失败之外,其

include和require的区别(PHP版本7)

亲自测试了一下,发现include有条件包含require无条件包含这个区别在PHP7版本中(据说PHP5以后)是不存在的了,也就是在if(false){ } 中都不会执行:还有一个返回值的问题,测试结果告诉我include和require包含文件成功都返回1,include失败返回false,而require包含文件失败会终止脚本执行,所以不能打印其返回值.include在引入不存文件时产生一个警告且脚本还会继续执行,require则会导致一个致命性错误且脚本停止执行. 原文地址:https:

PHP 中 include 和 require 的区别详解

前言 在做程序设计的时候避免不了要去引用外部文件,在 PHP 中引入文件的方式有很多种,这里详细说一下 include :require :include_once:require_once. require () 语句的性能与 include () 相类似,都是包括并运行指定文件.除了处理失败的方式不同之外.require在出错时产生 E_COMPILE_ERROR 级别的错误,终止脚本运行:而 include 只产生警告(E_WARNING),脚本会继续运行. 1.include 和 req

include与require的区别

1,  require在程序解释执行前被加载,被加载的内容,在程序解释执行过程中被经常使用:include则是在解释执行过程中,需要使用某些内容使用,include加载:由此可见,某些内容经常使用,可以使用require:如果每次执行代码是读取不同的文件,或者有通过一组文件迭代的循环,就使用include. 2,include引入文件失败时候,警告,程序继续执行:require引入文件出错时候,错误,停止执行. 3,include_once和require_once与include和requir