php中include和require的区别?php include的用法
大家好,今天给各位分享php中include和require的区别的一些知识,其中也会对php include的用法进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
PHP中include和require的区别详解
在PHP变成中,include()与require()的功能相同,include(include_once)与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()则是无条件包含函数)
1,使用方式不同
(1) require的使用方法如 require("requireFile.php");。这个函式通常放在 PHP程式的最前面,PHP程式在执行前,就会先读入 require所指定引入的档案,使它变成 PHP程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。引入是无条件的,发生在程序执行前,不管条件是否成立都要导入(可能不执行)。
(2) include使用方法如 include("includeFile.php");。这个函式一般是放在流程控制的处理区段中。PHP程式网页在读到 include的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。引入是有条件的,发生在程序执行时,只有条件成立时才导入(可以简化编译生成的代码)。
例如在下面的一个例子中,如果变量$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++;
}
2.执行时报错方式不同
include和require的区别:include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码,require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。例如下面例子:
写两个php文件,名字为test1.php和test2.php,注意相同的目录中,不要存在一个名字是test3.php的文件。
test1.php
<?PHP
include(”test3.php”);
echo“abc”;
?>
test2.php
<?PHP
require(”test3.php”)
echo“abc”;
?>
浏览第一个文件,因为没有找到test999.php文件,看到了报错信息,同时,报错信息的下边显示了abc,看到的可能是类似下边的情况:
Warning: include(test3.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‘test3.php' for inclusion(include_path='.;C:\php5\pear') in D:\WebSite\test.php on line 2
abc(下面的被执行了)
浏览第二个文件,因为没有找到test3.php文件,看到了报错信息,但是,报错信息的下边没有显示abc,看到的可能是类似下边的情况:
Warning: require(test3.php) [function.require]: failed to open stream: No such file or directory in D:\WebSite\test2.php on line 2
Fatal error: require() [function.require]: Failed opening required‘test3.php'(include_path='.;C:\php5\pear') in D:\WebSite\test.php on line 2
下面的未被执行,直接结束
总之,include时执行时调用的,是一个过程行为,有条件的,而require是一个预置行为,无条件的。
php里面require和include的区别
require的使用方法如 require("MyRequireFile.php");。这个函数通常放在 PHP程序的最前面,PHP程序在执行前,就会先读入 require所指定引入的文件,使它变成 PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include使用方法如 include("MyIncludeFile.php");。这个函数一般是放在流程控制的处理部分中。PHP程序网页在读到 include的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
1. include有返回值,而require没有。
2. include()包括并运行指定文件在处理失败时include()产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到include()语句的位置相同的变量范围。你可以导入同一个服务器中的静态页面。
3. require()会将目标文件的内容读入,并且把自己本身代换成这些读入的内容在处理失败时require()则导致一个致命错。
这个读入并且代换的动作是在PHP引擎编译你的程序代码的时候发生的,而不是发生在PHP引擎开始执行编译好的程序代码的时候(PHP 3.0引擎的工作方式是编译一行执行一行,但是到了PHP 4.0以后就有所改变了,PHP 4.0是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require()通常来导入静态的内容,而include()则适合用导入动态的程序代码。
4. require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require。
5. require通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
6. include一般是放在流程控制的处理部分中PHP程序网页在读到include的文件时,才将它读进来。这种方式可以把程序执行时的流程简单化。
php中require和include的区别
HP的include()和require()是两种包含外部文件的方法,二者的区别如下:
1:加载失败的处理方式不同:
include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)
require():如果文件不存在,会报出一个fatal error.脚本停止执行
include():如果文件不存在,会给出一个 warning,但脚本会继续执行
这里特别要注意的是:使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前
推荐使用require_once()和include_once(),可以检测文件是否有重复包含。
2.php性能不同
对include()来说,在 include()执行时文件每次都要进行读取和评估;
而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。你看过后很简单吧以后不会可以向我一样经常到后盾人找找相关教材看看就会了,希望能帮到你,给个采纳吧谢谢૧(●´৺`●)૭૧(●´৺`●)૭
OK,本文到此结束,希望对大家有所帮助。